Gnats 5271: Removing a Unit Scheme exception doesn't generate a callback on effected slots.
Phil Weinstein, CADSWES, 2-15-2013
The following diagnostic code (see the "std::cout" statement) shows callbacks on a slot when a Unit Scheme "exception" is added for the slot when operating the slot's configuration dialog.
But no callback is received when removing that exception in the unit scheme editor.
int ScenPlayboxConfigDlg::InSlotWids::slotCallbackHandler ( CallbackType cbType, CallbackData* cbData, void* /* clientData */) { static const char* mname ( "ScenPlayboxConfigDlg::InSlotWids::slotCallbackHandler"); SlotStatusChangeData* slotDat = dynamic_cast<SlotStatusChangeData*> (cbData); const Slot* slot = (slotDat ? slotDat->slot : NULL); std::cout << mname << " (" << (slot ? qPrintable(slot->getCompleteName()) : "SLOT?") << ") " << callbackTypeStr (cbType) << std::endl; switch (cbType) { case SLOT_DELETED: { if (_slot && rwAssert (slot == _slot)) { deleteSlotCallback(); setSlot (NULL); _dlg->saveConfig(); } break; } case SLOT_NAMED: case SLOT_USRUNITS_CHANGED: case SLOT_SCALE_CHANGED: case SLOT_PRECISION_CHANGED: case SLOT_FORMAT_CHANGED: { updateWids(); _dlg->saveConfig(); break; } } return (true); } |