Ethereal-cvs: [Ethereal-cvs] cvs commit: ethereal/gtk file_dlg.c filter_prefs.c filter_prefs.h

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <guy@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 20 Jan 2001 19:45:08 -0600 (CST)
guy         2001/01/20 19:45:08 CST

  Modified files:
    gtk                  file_dlg.c filter_prefs.c filter_prefs.h 
                         find_dlg.c main.c 
  Log:
  In the process of destroying a filter editing dialog box, we get a
  selection change event on the list of filters.  Unfortunately, this can
  happen after some other widgets in that dialog box have already been
  destroyed - including some of the widgets that such a selection change
  event can change.
  
  This sometimes happened when "filter_prefs_delete()" hadn't been called,
  so the mechanism we had been using, with a Boolean datum attached to the
  dialog box, set in "filter_prefs_delete()" before we actually destroy
  the dialog box, wasn't sufficient to keep that from happening.
  
  Attach to the top-level window data items containing pointers to the
  widgets changed when a filter is selected from the list, give each of
  those widgets their own destroy callbacks, clear the pointer attached to
  the top-level widget when the widget is destroyed, and don't do anything
  to the widget when a filter is selected from the list if the pointer for
  that widget is null, as that means the widget's been destroyed and we
  *can't* do anything to it.
  
  Not all filter editing dialogs created on behalf of a "Filter:" button
  next to a text entry box should, when you click "OK", activate the text
  entry box; if the text entry box is part of a dialog box with multiple
  widgets, the user might not have filled in all of the items in that
  dialog box, so you shouldn't activate it for them.  Add a mechanism by
  which, when creating a filter editing dialog box, you can specify
  whether the "OK" button should just fill in the text entry box or should
  fill it in and also activate it.
  
  Revision  Changes    Path
  1.34      +7 -3      ethereal/gtk/file_dlg.c
  1.21      +218 -74   ethereal/gtk/filter_prefs.c
  1.8       +12 -2     ethereal/gtk/filter_prefs.h
  1.17      +5 -2      ethereal/gtk/find_dlg.c
  1.172     +6 -4      ethereal/gtk/main.c