diff options
author | Owen Taylor <otaylor@redhat.com> | 2002-06-18 15:45:05 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 2002-06-18 15:45:05 +0000 |
commit | 3c04199080cebd26fbaf86a78cc427165e3ce062 (patch) | |
tree | bc65d5c0105b8adbd5d968ba049f993582b5ec90 /gdk | |
parent | b80a2fe93dbbaebfc41fcb5c6e7f1b74ab951401 (diff) | |
download | gtk+-3c04199080cebd26fbaf86a78cc427165e3ce062.tar.gz |
Add a gboolean create argument, so we don't create the structure unless we
Tue Jun 18 11:46:33 2002 Owen Taylor <otaylor@redhat.com>
* gdk/x11/gdkwindow-x11.c (get_move_resize_data): Add
a gboolean create argument, so we don't create the
structure unless we actually emulate move-resize
drags.
Diffstat (limited to 'gdk')
-rw-r--r-- | gdk/x11/gdkwindow-x11.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/gdk/x11/gdkwindow-x11.c b/gdk/x11/gdkwindow-x11.c index d50f03c26a..ad53ae06f5 100644 --- a/gdk/x11/gdkwindow-x11.c +++ b/gdk/x11/gdkwindow-x11.c @@ -4206,7 +4206,8 @@ wmspec_resize_drag (GdkWindow *window, } static MoveResizeData * -get_move_resize_data (GdkDisplay *display) +get_move_resize_data (GdkDisplay *display, + gboolean create) { MoveResizeData *mv_resize; static GQuark move_resize_quark = 0; @@ -4216,7 +4217,7 @@ get_move_resize_data (GdkDisplay *display) mv_resize = g_object_get_qdata (G_OBJECT (display), move_resize_quark); - if (!mv_resize) + if (!mv_resize && create) { mv_resize = g_new0 (MoveResizeData, 1); mv_resize->display = display; @@ -4296,7 +4297,7 @@ lookahead_motion_predicate (Display *xdisplay, { gboolean *seen_release = (gboolean *)arg; GdkDisplay *display = gdk_x11_lookup_xdisplay (xdisplay); - MoveResizeData *mv_resize = get_move_resize_data (display); + MoveResizeData *mv_resize = get_move_resize_data (display, FALSE); if (*seen_release) return False; @@ -4346,7 +4347,7 @@ _gdk_moveresize_handle_event (XEvent *event) guint button_mask = 0; GdkWindowObject *window_private; GdkDisplay *display= gdk_x11_lookup_xdisplay (event->xany.display); - MoveResizeData *mv_resize = get_move_resize_data (display); + MoveResizeData *mv_resize = get_move_resize_data (display, FALSE); if (!mv_resize->moveresize_window) return FALSE; @@ -4402,13 +4403,11 @@ _gdk_moveresize_configure_done (GdkDisplay *display, GdkWindow *window) { XEvent *tmp_event; - MoveResizeData *mv_resize = get_move_resize_data (display); + MoveResizeData *mv_resize = get_move_resize_data (display, FALSE); - if (window != mv_resize->moveresize_window) + if (!mv_resize || window != mv_resize->moveresize_window) return FALSE; - g_assert (mv_resize != NULL); - if (mv_resize->moveresize_pending_event) { tmp_event = mv_resize->moveresize_pending_event; @@ -4476,7 +4475,7 @@ emulate_resize_drag (GdkWindow *window, gint root_y, guint32 timestamp) { - MoveResizeData *mv_resize = get_move_resize_data (GDK_WINDOW_DISPLAY (window)); + MoveResizeData *mv_resize = get_move_resize_data (GDK_WINDOW_DISPLAY (window), TRUE); mv_resize->is_resize = TRUE; mv_resize->moveresize_button = button; @@ -4504,7 +4503,7 @@ emulate_move_drag (GdkWindow *window, gint root_y, guint32 timestamp) { - MoveResizeData *mv_resize = get_move_resize_data (GDK_WINDOW_DISPLAY (window)); + MoveResizeData *mv_resize = get_move_resize_data (GDK_WINDOW_DISPLAY (window), TRUE); mv_resize->is_resize = FALSE; mv_resize->moveresize_button = button; |