Remove more gdk_pointer_grab() where they are not strictly needed

and replace them by gtk_grab_add()/remove().
This commit is contained in:
Michael Natterer 2011-12-10 21:51:05 +01:00
parent 022af2610e
commit 180cb656ae
4 changed files with 29 additions and 38 deletions

View File

@ -351,9 +351,8 @@ gimp_dash_editor_button_press (GtkWidget *widget,
if (bevent->button == 1 && bevent->type == GDK_BUTTON_PRESS) if (bevent->button == 1 && bevent->type == GDK_BUTTON_PRESS)
{ {
gdk_pointer_grab (gtk_widget_get_window (widget), FALSE, gtk_grab_add (widget);
GDK_BUTTON_RELEASE_MASK | GDK_BUTTON1_MOTION_MASK,
NULL, NULL, bevent->time);
index = dash_x_to_index (editor, bevent->x); index = dash_x_to_index (editor, bevent->x);
editor->edit_mode = ! editor->segments [index]; editor->edit_mode = ! editor->segments [index];
@ -375,8 +374,7 @@ gimp_dash_editor_button_release (GtkWidget *widget,
if (bevent->button == 1) if (bevent->button == 1)
{ {
gdk_display_pointer_ungrab (gtk_widget_get_display (GTK_WIDGET (editor)), gtk_grab_remove (widget);
bevent->time);
update_options_from_segments (editor); update_options_from_segments (editor);
} }

View File

@ -528,9 +528,7 @@ gimp_histogram_view_button_press (GtkWidget *widget,
GtkAllocation allocation; GtkAllocation allocation;
gint width; gint width;
gdk_pointer_grab (gtk_widget_get_window (widget), FALSE, gtk_grab_add (widget);
GDK_BUTTON_RELEASE_MASK | GDK_BUTTON1_MOTION_MASK,
NULL, NULL, bevent->time);
gtk_widget_get_allocation (widget, &allocation); gtk_widget_get_allocation (widget, &allocation);
@ -556,8 +554,7 @@ gimp_histogram_view_button_release (GtkWidget *widget,
{ {
gint start, end; gint start, end;
gdk_display_pointer_ungrab (gtk_widget_get_display (GTK_WIDGET (view)), gtk_grab_remove (widget);
bevent->time);
start = view->start; start = view->start;
end = view->end; end = view->end;

View File

@ -671,11 +671,7 @@ gimp_color_select_xy_events (GtkWidget *widget,
x = bevent->x; x = bevent->x;
y = bevent->y; y = bevent->y;
gdk_pointer_grab (gtk_widget_get_window (select->xy_color), FALSE, gtk_grab_add (widget);
GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_MOTION_MASK |
GDK_BUTTON_RELEASE_MASK,
NULL, NULL, bevent->time);
select->drag_mode = DRAG_XY; select->drag_mode = DRAG_XY;
} }
break; break;
@ -690,8 +686,7 @@ gimp_color_select_xy_events (GtkWidget *widget,
x = bevent->x; x = bevent->x;
y = bevent->y; y = bevent->y;
gdk_display_pointer_ungrab (gtk_widget_get_display (widget), gtk_grab_remove (widget);
bevent->time);
select->drag_mode = DRAG_NONE; select->drag_mode = DRAG_NONE;
} }
break; break;
@ -793,11 +788,7 @@ gimp_color_select_z_events (GtkWidget *widget,
z = bevent->y; z = bevent->y;
gdk_pointer_grab (gtk_widget_get_window (select->z_color), FALSE, gtk_grab_add (widget);
GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_MOTION_MASK |
GDK_BUTTON_RELEASE_MASK,
NULL, NULL, bevent->time);
select->drag_mode = DRAG_Z; select->drag_mode = DRAG_Z;
} }
break; break;
@ -811,8 +802,7 @@ gimp_color_select_z_events (GtkWidget *widget,
z = bevent->y; z = bevent->y;
gdk_display_pointer_ungrab (gtk_widget_get_display (widget), gtk_grab_remove (widget);
bevent->time);
select->drag_mode = DRAG_NONE; select->drag_mode = DRAG_NONE;
} }
break; break;

View File

@ -100,7 +100,10 @@ gimp_offset_area_init (GimpOffsetArea *area)
area->display_ratio_x = 1.0; area->display_ratio_x = 1.0;
area->display_ratio_y = 1.0; area->display_ratio_y = 1.0;
gtk_widget_add_events (GTK_WIDGET (area), GDK_BUTTON_PRESS_MASK); gtk_widget_add_events (GTK_WIDGET (area),
GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK |
GDK_BUTTON1_MOTION_MASK);
} }
/** /**
@ -353,15 +356,15 @@ gimp_offset_area_event (GtkWidget *widget,
switch (event->type) switch (event->type)
{ {
case GDK_BUTTON_PRESS: case GDK_BUTTON_PRESS:
gdk_pointer_grab (gtk_widget_get_window (widget), FALSE, if (event->button.button == 1)
(GDK_BUTTON1_MOTION_MASK | {
GDK_BUTTON_RELEASE_MASK), gtk_grab_add (widget);
NULL, NULL, event->button.time);
orig_offset_x = area->offset_x; orig_offset_x = area->offset_x;
orig_offset_y = area->offset_y; orig_offset_y = area->offset_y;
start_x = event->button.x; start_x = event->button.x;
start_y = event->button.y; start_y = event->button.y;
}
break; break;
case GDK_MOTION_NOTIFY: case GDK_MOTION_NOTIFY:
@ -381,16 +384,19 @@ gimp_offset_area_event (GtkWidget *widget,
break; break;
case GDK_BUTTON_RELEASE: case GDK_BUTTON_RELEASE:
gdk_display_pointer_ungrab (gtk_widget_get_display (widget), if (event->button.button == 1)
event->button.time); {
gtk_grab_remove (widget);
start_x = start_y = 0; start_x = start_y = 0;
}
break; break;
default: default:
break; return FALSE;
} }
return FALSE; return TRUE;
} }
static gboolean static gboolean