help wanted from Windows and Mac experts...

Dirk Hohndel dirk at hohndel.org
Mon Oct 29 13:23:49 PDT 2012


On Mon, 2012-10-29 at 22:17 +0200, Lubomir I. Ivanov wrote:
> btw, there is a small problem with the dialog box on windows.
> after choosing a serial port, it takes some time between the user
> pressing the "OK" button and an eventual error report.
> on linux this time seems minimal, however on windows it is possible
> for the user to click the [x] button while the second thread is
> running, which will close the window, but it will enter a loop of this
> kind:
> 
> (subsurface.exe:5056): GLib-GObject-WARNING **: invalid cast from `(null)' to `G
> tkProgressBar'
> (subsurface.exe:5056): Gtk-CRITICAL **: gtk_progress_bar_set_fraction: assertion
>  `GTK_IS_PROGRESS_BAR (pbar)' failed
> (subsurface.exe:5056): GLib-GObject-WARNING **: invalid cast from `(null)' to `G
> tkProgressBar'
> (subsurface.exe:5056): Gtk-CRITICAL **: gtk_progress_bar_set_text: assertion `GT
> K_IS_PROGRESS_BAR (pbar)' failed
> (subsurface.exe:5056): GLib-GObject-WARNING **: invalid cast from `(null)' to `G
> tkProgressBar'
> (subsurface.exe:5056): Gtk-CRITICAL **: gtk_progress_bar_set_fraction: assertion
>  `GTK_IS_PROGRESS_BAR (pbar)' failed
> (subsurface.exe:5056): GLib-GObject-WARNING **: invalid cast from `(null)' to `G
> tkProgressBar'
> ....
> 
> i'm assuming it tries to update the progress bar while the dialog is closed.
> perhaps it would be best to disable the UI buttons in the dialog until
> the error report is shown?

Yuck. I think the better solution would be to reliably kill the other
thread if the window is closed - this should be the same as hitting
cancel, right?

/D



More information about the subsurface mailing list