Re: dialog enhancements



Tim Janik wrote:
> 
> /* gtk_dialog_run() shows the dialog and enters a recursive main loop
>  * to be executed until the dialog is hidden. the return value is the
>  * action_id of the child that was lastly activated or 0 if none.
>  * gtk_dialog_run() is recommended to be used only with
>  * GTK_AUX_DIALOG_MODAL dialogs.
>  */
> gint gtk_aux_dialog_run (GtkAuxDialog *aux_dialog);
> 

Just my 0.2 cents:

I recently wrote an application that makes use of the expect library; as
this library (just an example) often blocks (=freezes)the whole app
temporarily, it was necessary to make my app multithreaded which in turn
required the gtk_main() call in main() to be 'pre- and postfixed' by the
relevant gdk_threads() functions, gdk_threads_enter() and
gdk_threads_leave().

However, the gnome_dialog functions I used to create my dialogs call
gtk_main() again for some reason (beyond me). This just let my app
freeze again making all my multithreading efforts obsolete and I had to
rip out the dialog altogether and write my own dialog routines
(implementing much of Havoc's suggested var_args mechanism :P). 

So when rethinking the GtkDialog API one should possibly rethink whether
the call to gtk_main is really necessary. Apart from not being able to
use the preset dialog routines it also took me ages to actually find
that bug...

Beg your pardon if this is complete non-sense.

Fritz



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]