summaryrefslogtreecommitdiff
path: root/src/xprops.c
diff options
context:
space:
mode:
authorHavoc Pennington <hp@pobox.com>2002-12-10 03:23:04 +0000
committerHavoc Pennington <hp@src.gnome.org>2002-12-10 03:23:04 +0000
commit967777b965986901eac0bdadd5874138e40308e8 (patch)
tree85600494abf421462c69fe46e936d0f11fb21e76 /src/xprops.c
parentba18c630b7352bc0da3465255193fc7e0ff635d5 (diff)
downloadmetacity-967777b965986901eac0bdadd5874138e40308e8.tar.gz
add myself here, bug #100789
2002-12-09 Havoc Pennington <hp@pobox.com> * AUTHORS: add myself here, bug #100789 * src/display.c (meta_display_set_grab_op_cursor): drop PointerMotionHintMask * src/window.c (meta_window_handle_mouse_grab_op_event): don't use XQueryPointer, as we aren't using PointerMotionHint now * src/display.c (event_callback): rearrange a bit of code for slight speedup and clarity * src/window.c (update_resize) (meta_window_handle_mouse_grab_op_event): implement usage of the _METACITY_UPDATE_COUNTER (meta_window_handle_mouse_grab_op_event): fix code that used event->xbutton with a motion event * src/display.c (meta_display_open): add new atoms, and initialize Xsync if we have it (grab_op_is_resizing): new function (meta_display_begin_grab_op): create an alarm monitoring window's _METACITY_UPDATE_COUNTER (meta_spew_event): conditionalize this on WITH_VERBOSE_MODE and print alarm events. * src/window.c (meta_window_new): fetch _METACITY_UPDATE_COUNTER * configure.in (HAVE_XSYNC): check for Xsync extension
Diffstat (limited to 'src/xprops.c')
-rw-r--r--src/xprops.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/xprops.c b/src/xprops.c
index 4f92e2d4..f903b1e6 100644
--- a/src/xprops.c
+++ b/src/xprops.c
@@ -505,6 +505,24 @@ window_from_results (GetPropertyResults *results,
return TRUE;
}
+#ifdef HAVE_XSYNC
+static gboolean
+counter_from_results (GetPropertyResults *results,
+ XSyncCounter *counter_p)
+{
+ if (!validate_or_free_results (results, 32,
+ results->display->atom_sync_counter,
+ TRUE))
+ return FALSE;
+
+ *counter_p = *(XSyncCounter*) results->prop;
+ XFree (results->prop);
+ results->prop = NULL;
+
+ return TRUE;
+}
+#endif
+
gboolean
meta_prop_get_window (MetaDisplay *display,
Window xwindow,
@@ -915,6 +933,9 @@ meta_prop_get_values (MetaDisplay *display,
case META_PROP_VALUE_SIZE_HINTS:
values[i].required_type = XA_WM_SIZE_HINTS;
break;
+ case META_PROP_VALUE_SYNC_COUNTER:
+ values[i].required_type = display->atom_sync_counter;
+ break;
}
}
@@ -1042,6 +1063,15 @@ meta_prop_get_values (MetaDisplay *display,
&values[i].v.size_hints.flags))
values[i].type = META_PROP_VALUE_INVALID;
break;
+ case META_PROP_VALUE_SYNC_COUNTER:
+#ifdef HAVE_XSYNC
+ if (!counter_from_results (&results,
+ &values[i].v.xcounter))
+ values[i].type = META_PROP_VALUE_INVALID;
+#else
+ values[i].type = META_PROP_VALUE_INVALID;
+#endif
+ break;
}
next:
@@ -1093,6 +1123,8 @@ free_value (MetaPropValue *value)
case META_PROP_VALUE_CARDINAL_LIST:
meta_XFree (value->v.cardinal_list.cardinals);
break;
+ case META_PROP_VALUE_SYNC_COUNTER:
+ break;
}
}