For some reason I've noticed that calls to IupPopup have stopped returning.

My dialogs have a callback for CLOSE_CB like this:

int win_dialog_ok_cb(Ihandle *self)
{
    tWIN_DIALOG *dialog = (tWIN_DIALOG *)IupGetAttribute(self, "WIND");
    Ihandle *config = get_config();
    sds val;

    dialog->ok_clicked = 1;

    IupHide(dialog->dlg);

    return IUP_DEFAULT;
}


This has always worked before, but now it seems that the IupHide call enters a 
new loop which processes events from my main window.

I tried returning IUP_CLOSE instead and commenting out IupHide, but the loop 
appears to be entered instead after the callback returns.

[External Code] 
... snip, below is a IUP timer callback ..
stonenotes_nt.exe!win_ipc_timer(Ihandle_ * self) Line 4203 C
[External Code]
> stonenotes_nt.exe!win_dialog_show(const char * id, const char * ledFilename, 
> int(*)(Ihandle_ *) callback, int(*)(WIN_DIALOG *, void *) value_callback, 
> void * data) Line 120 C
stonenotes_nt.exe!win_options_categories(Ihandle_ * self) Line 2748 C
[External Code]
stonenotes_nt.exe!main(int argc, char * * argv) Line 136 C++
[External Code]

My win_dialog_show function is what calls IupPopup. This function is never 
returned to, the rest of the execution happens inside the IupPopup call (2nd 
External Code above).

Any ideas why this would have changed?
_______________________________________________
Iup-users mailing list
Iup-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/iup-users

Reply via email to