removed GRAB_EXCLUSIVE again, just disable modal event delivery for

Sun Mar 15 23:44:10 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkwidget.h:
                * gtk/gtkmenushell.c:
                        * gtk/gtkmenu.c:
                                * gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
                                        event delivery for insensitive children.
This commit is contained in:
Tim Janik 1998-03-15 22:49:50 +00:00 committed by Tim Janik
parent 3f4411ed52
commit c91f2c0cfa
11 changed files with 58 additions and 7 deletions

View File

@ -1,3 +1,11 @@
Sun Mar 15 23:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkmenushell.c:
* gtk/gtkmenu.c:
* gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
event delivery for insensitive children.
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted

View File

@ -1,3 +1,11 @@
Sun Mar 15 23:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkmenushell.c:
* gtk/gtkmenu.c:
* gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
event delivery for insensitive children.
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted

View File

@ -1,3 +1,11 @@
Sun Mar 15 23:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkmenushell.c:
* gtk/gtkmenu.c:
* gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
event delivery for insensitive children.
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted

View File

@ -1,3 +1,11 @@
Sun Mar 15 23:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkmenushell.c:
* gtk/gtkmenu.c:
* gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
event delivery for insensitive children.
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted

View File

@ -1,3 +1,11 @@
Sun Mar 15 23:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkmenushell.c:
* gtk/gtkmenu.c:
* gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
event delivery for insensitive children.
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted

View File

@ -1,3 +1,11 @@
Sun Mar 15 23:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkmenushell.c:
* gtk/gtkmenu.c:
* gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
event delivery for insensitive children.
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted

View File

@ -1,3 +1,11 @@
Sun Mar 15 23:44:10 1998 Tim Janik <timj@gimp.org>
* gtk/gtkwidget.h:
* gtk/gtkmenushell.c:
* gtk/gtkmenu.c:
* gtk/gtkmain.c: removed GRAB_EXCLUSIVE again, just disable modal
event delivery for insensitive children.
Sun Mar 15 22:44:33 1998 Tim Janik <timj@gimp.org>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): for now reverted

View File

@ -510,7 +510,7 @@ gtk_main_iteration_do (gboolean blocking)
* then we send the event to the original event widget.
* This is the key to implementing modality.
*/
if (!GTK_WIDGET_EXCLUSIVE_GRAB (grab_widget) &&
if (GTK_WIDGET_IS_SENSITIVE (event_widget) &&
gtk_widget_is_ancestor (event_widget, grab_widget))
grab_widget = event_widget;
}

View File

@ -293,7 +293,6 @@ gtk_menu_popup (GtkMenu *menu,
gtk_widget_show (GTK_WIDGET (menu));
gtk_grab_add (GTK_WIDGET (menu));
GTK_WIDGET_SET_FLAGS (menu, GTK_EXCLUSIVE_GRAB);
}
void
@ -318,7 +317,6 @@ gtk_menu_popdown (GtkMenu *menu)
gtk_widget_hide (GTK_WIDGET (menu));
gtk_grab_remove (GTK_WIDGET (menu));
GTK_WIDGET_SET_FLAGS (menu, GTK_EXCLUSIVE_GRAB);
}
GtkWidget*

View File

@ -298,7 +298,6 @@ gtk_menu_shell_button_press (GtkWidget *widget,
if (!menu_shell->active)
{
gtk_grab_add (GTK_WIDGET (widget));
GTK_WIDGET_SET_FLAGS (widget, GTK_EXCLUSIVE_GRAB);
menu_shell->have_grab = TRUE;
menu_shell->active = TRUE;
}
@ -579,7 +578,6 @@ gtk_real_menu_shell_deactivate (GtkMenuShell *menu_shell)
{
menu_shell->have_grab = FALSE;
gtk_grab_remove (GTK_WIDGET (menu_shell));
GTK_WIDGET_UNSET_FLAGS (menu_shell, GTK_EXCLUSIVE_GRAB);
}
if (menu_shell->have_xgrab)
{

View File

@ -48,7 +48,7 @@ enum
GTK_HAS_DEFAULT = 1 << 14,
GTK_HAS_GRAB = 1 << 15,
GTK_BASIC = 1 << 16,
GTK_EXCLUSIVE_GRAB = 1 << 17,
GTK_RESERVED_3 = 1 << 17,
GTK_RC_STYLE = 1 << 18
};
@ -86,7 +86,6 @@ enum
#define GTK_WIDGET_HAS_DEFAULT(wid) (GTK_WIDGET_FLAGS (wid) & GTK_HAS_DEFAULT)
#define GTK_WIDGET_HAS_GRAB(wid) (GTK_WIDGET_FLAGS (wid) & GTK_HAS_GRAB)
#define GTK_WIDGET_BASIC(wid) (GTK_WIDGET_FLAGS (wid) & GTK_BASIC)
#define GTK_WIDGET_EXCLUSIVE_GRAB(wid) (GTK_WIDGET_FLAGS (wid) & GTK_EXCLUSIVE_GRAB)
#define GTK_WIDGET_RC_STYLE(wid) (GTK_WIDGET_FLAGS (wid) & GTK_RC_STYLE)
/* Macros for setting and clearing widget flags.