projects
/
dana
/
openbox-history.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
9577bb9
)
only wait 1/2 a second for sync reply
author
Dana Jansens
<danakj@orodu.net>
Tue, 10 Jul 2007 22:53:49 +0000
(22:53 +0000)
committer
Dana Jansens
<danakj@orodu.net>
Tue, 10 Jul 2007 22:53:49 +0000
(22:53 +0000)
openbox/moveresize.c
patch
|
blob
|
history
diff --git
a/openbox/moveresize.c
b/openbox/moveresize.c
index
da4d92f
..
9ccfbd6
100644
(file)
--- a/
openbox/moveresize.c
+++ b/
openbox/moveresize.c
@@
-65,6
+65,9
@@
static ObPopup *popup = NULL;
static void do_edge_warp(gint x, gint y);
static void cancel_edge_warp();
static void do_edge_warp(gint x, gint y);
static void cancel_edge_warp();
+#ifdef SYNC
+static gboolean sync_timeout_func(gpointer data);
+#endif
static void client_dest(ObClient *client, gpointer data)
{
static void client_dest(ObClient *client, gpointer data)
{
@@
-251,6
+254,8
@@
void moveresize_end(gboolean cancel)
XSyncDestroyAlarm(ob_display, moveresize_alarm);
moveresize_alarm = None;
}
XSyncDestroyAlarm(ob_display, moveresize_alarm);
moveresize_alarm = None;
}
+
+ ob_main_loop_timeout_remove(ob_main_loop, sync_timeout_func);
#endif
client_configure(moveresize_client,
#endif
client_configure(moveresize_client,
@@
-286,6
+291,7
@@
static void do_move(gboolean keyboard, gint keydist)
moveresize_client->frame->area.y);
}
moveresize_client->frame->area.y);
}
+
static void do_resize()
{
gint x, y, w, h, lw, lh;
static void do_resize()
{
gint x, y, w, h, lw, lh;
@@
-333,6
+339,11
@@
static void do_resize()
NoEventMask, &ce);
waiting_for_sync = TRUE;
NoEventMask, &ce);
waiting_for_sync = TRUE;
+
+ ob_main_loop_timeout_remove(ob_main_loop, sync_timeout_func);
+ ob_main_loop_timeout_add(ob_main_loop, G_USEC_PER_SEC / 2,
+ sync_timeout_func,
+ NULL, NULL, NULL);
}
#endif
}
#endif
@@
-350,6
+361,16
@@
static void do_resize()
moveresize_client->logical_size.height);
}
moveresize_client->logical_size.height);
}
+#ifdef SYNC
+static gboolean sync_timeout_func(gpointer data)
+{
+ waiting_for_sync = FALSE; /* we timed out waiting for our sync... */
+ do_resize(); /* ...so let any pending resizes through */
+
+ return FALSE; /* don't repeat */
+}
+#endif
+
static void calc_resize(gboolean keyboard, gint keydist, gint *dw, gint *dh,
ObCorner cor)
{
static void calc_resize(gboolean keyboard, gint keydist, gint *dw, gint *dh,
ObCorner cor)
{