This is another case where I have to debug step by step. Break the widget tree at various points, tuck in the message box so the code will finish on the message box. Keep breaking, inserting the message, and reconnecting until you get that error again and not the message box. That helps point to the widget that is causing the problem. Does that make sense?