After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 143333 - Support update counter spec
Support update counter spec
Status: RESOLVED FIXED
Product: metacity
Classification: Other
Component: EWMH specification
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Metacity maintainers list
Metacity maintainers list
Depends on:
Blocks:
 
 
Reported: 2004-05-28 13:51 UTC by Soren Sandmann Pedersen
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
The patch (25.11 KB, patch)
2004-05-28 13:53 UTC, Soren Sandmann Pedersen
accepted-commit_after_freeze Details | Review

Description Soren Sandmann Pedersen 2004-05-28 13:51:28 UTC
The update counter spec will be official when I get added to the icccm-extensions group. Here is 
a patch to make metacity support it. The patch also fixes the remaining problems from bug 
109362, ie. the one about queuing a resize when we otherwise woudln't ignore one.
Comment 1 Soren Sandmann Pedersen 2004-05-28 13:53:14 UTC
Created attachment 28121 [details] [review]
The patch
Comment 2 Havoc Pennington 2004-05-30 16:19:05 UTC
Comment on attachment 28121 [details] [review]
The patch

I added you to icccm-extensions now.

Patch is good to commit, but we have to branch metacity first, there's no GNOME
2.7 branch at the moment.
Comment 3 Soren Sandmann Pedersen 2004-06-19 00:44:17 UTC
I'll commit to HEAD for now. If the gtk+ patch is accepted into the 2.4 branch,
then I'll commit to stable for metacity as well.

Sat Jun 19 02:21:08 2004  Soeren Sandmann  <sandmann@daimi.au.dk>

	Fix bug 143333, support for update counter spec, and 109362,
	schedule compensation events when events are ignored.
	
	* src/display.c (meta_display_open): Add _NET_WM_SYNC_REQUEST and
	_NET_WM_SYNC_REQUEST_COUNTER atoms. Remove the old
	METACITY_SYNC_COUNTER stuff.
	(meta_display_begin_op): Setup the sync counter

	* src/xprops.c, src/xprops.h, src/window-props.c, src/display.h:
	Add new atoms.
	
	* src/window.c (send_sync_request): new function.
	(meta_window_move_resize_internal): send a sync request before
	resizing.
	(check_move_resize_frequence): Rework logic to also check the SYNC
	case. If an event is ignored return the remaining time.
	(update_resize_timeout): Timeout that gets called when a
	compensation event is scheduled.
	(uddate_resize): schedule compensation events when an event is
	ignored.
	(meta_window_handle_mouse_grap_op_event): When an alarm is
	received and sync was turned off, turn it back on.
	
	* src/window.h (struct MetaWindow)  Add some variables