Expected behavior: project does not link to nonexistent required block. Eventually see errors in project.
Actual behavior: Tinderbox crashes (see stack trace below).
Better behavior: give error notification that a required block is missing. This opens up the possibility of "soft" requirements within blocks. Maybe other blocks are only required for certain components.
I noticed this when working on a new Cinderblock and I made a typo in my cinderblock.xml.
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.yourcompany.TinderBox 0x000000010005c78b MainWizard::refreshRequiredBlocks() + 377
1 com.yourcompany.TinderBox 0x000000010005f9de WizardPageCinderBlocks::installTypeChanged() + 60
2 QtCore 0x000000010031a22e QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 1566
3 QtGui 0x000000010093ec80 QComboBox::currentIndexChanged(int) + 48
4 QtGui 0x000000010094069c QComboBox::itemIcon(int) const + 188
5 QtGui 0x00000001009427bf QComboBox::resizeEvent(QResizeEvent*) + 639
6 QtGui 0x0000000100942ba5 QComboBox::setCurrentIndex(int) + 821
7 QtCore 0x000000010031a22e QMetaObject::activate(QObject*, QMetaObject const*, int, void**) + 1566
8 QtGui 0x0000000100c07496 QCheckBox::metaObject() const + 534
9 QtGui 0x0000000100940bfa QComboBox::initStyleOption(QStyleOptionComboBox*) const + 890
10 QtCore 0x0000000100301c27 QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) + 151
11 QtGui 0x000000010058690e QApplicationPrivate::notify_helper(QObject*, QEvent*) + 142
12 QtGui 0x000000010058d2f0 QApplication::notify(QObject*, QEvent*) + 2384
13 QtCore 0x000000010030217c QCoreApplication::notifyInternal(QObject*, QEvent*) + 124
14 QtGui 0x000000010058b12d QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) + 333
15 QtGui 0x000000010053a985 QMacCocoaAutoReleasePool::~QMacCocoaAutoReleasePool() + 18901
16 com.apple.AppKit 0x00007fff8edb35d6 -[NSWindow sendEvent:] + 7053
17 QtGui 0x0000000100527587 QWidget::grabMouse(QCursor const&) + 3895
18 com.apple.AppKit 0x00007fff8edaf644 -[NSApplication sendEvent:] + 5761
19 QtGui 0x0000000100534b24 QMacInputContext::reset() + 45012
20 com.apple.AppKit 0x00007fff8ecc521a -[NSApplication run] + 636
21 QtGui 0x000000010053f900 QDesktopWidget::resizeEvent(QResizeEvent*) + 13040
22 QtCore 0x0000000100301094 QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) + 68
23 QtCore 0x0000000100301444 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 324
24 QtCore 0x0000000100303b2c QCoreApplication::exec() + 188
25 com.yourcompany.TinderBox 0x00000001000030b8 main + 248
26 com.yourcompany.TinderBox 0x0000000100002f94 start + 52