Hi,

Interesting stuff. Indeed we should look into generalizing this dialog  
handling. It would be great if we could get it done before the 1.2  
branch, but I doubt that. Maybe posting a patch first would be helpful.

Thanx,
Jaap

Sent from my iPhone

On 20 mei 2009, at 18:46, Bill Meier <wme...@newsguy.com> wrote:

> AFAIKT there are issues with most usage in Wireshark of
> GtkFileChooserDialog.
>
> This is true for direct usage and indirect usage via  
> file_selection_new().
>
> A simple example:
>
> On a *nix system:
>
> 1. Do File ! Open and choose a capture file.
>
> 2. Enter a bad filter in the filter entry box.
>
> 3. Click the Open button in the file chooser dialog window.
>
> 4. Dismiss the resulting "Bad Filter" alert box.
>
> You'll now have what I'll call a dead File Chooser dialog window.
> That is: clicking on the Cancel or the Open buttons in the Window does
> nothing.
>
> (The window is not completely dead: Clicking on the upper right does
> delete/destroy the window).
>
> ------
>
> The issue exists for many of the cases where GtkFileChooser is used  
> and
> the callback throws up an alert box or similar.
>
> A good example: rtp_analysis.c: save_voice_as_ok_cb has many uses of
> simple_dialog() which will result in a "dead dialog window".
>
> The "dead dialog window" can also occur in many cases if a directory  
> is
> chosen before clicking OK in the file chooser.
>
> The issue:
>
> The original code (in various dialogs) using GtkFileSelection treated
> the file selection window as a "regular" window (what's the correct
> terminology ?) and attached callbacks to the OK button and etc. The
> event handling was then done via the main loop.
>
> Later code using GtkFileChooserDialog instead of GtkFileSelection uses
> gtk_dialog_run and so on to do the event handling. This doesn't work
> well if the callback wants to pop up an alert box but leave the file
> chooser window up for further action.
>
> ((
> Digging a bit deeper: I see that file_selection_new() used by
> File ! Open was changed years ago to use GtkFileChooserDialog and
> gtk_dialog_run instead of  GtkFileSelection & etc.
>
> Has this issue been present in File ! Open all that time ??
>
> I would guess that the issue is now more noticeable with the various
> recent changes (in code other than file_selection_new()) to use
> GtkFileChooserDialog rather than GtkFileSelection .
> ))
>
> ------
>
> My thought:
>
> Change usage of GtkFileChooserDialog to use a GtkFileChoserWidget in a
> window with OK and Cancel buttons;
>
> Change the users of the file chooser to go back to the original way  
> for
> attaching and handling the callbacks. (That is: don't use  
> gtk_dialog_run
> & etc).
>
> Doing this change for all the current usage of GtkFileChooserDialog
> (10-15 instances ?) would be a bit of work, but I don't think it's  
> too bad.
>
> Doing things this way means that all the code written with the
> assumption that alert boxes can be popped up and etc would work again.
>
> -----
>
> What am I missing ?  Are there problems with the above approach ?
> Are there other possible solutions ?
>
>
> If the above seems a reasonable way to go,
>
> 1. I would then try implementing the above for one of the dialogs.
>
> This should take less than a day.
>
> 2. I would then commit the changes for others to look at.
>
> 3. If Ok, the required changes for the rest of the  
> GtkFileChooserDialog
> could then be made.
>
>
> Bill
>
> ___________________________________________________________________________
 

> Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
> Archives:    http://www.wireshark.org/lists/wireshark-dev
> Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
>             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to