From 899af9d58cb714f4529b7400ac0ce103db757883 Mon Sep 17 00:00:00 2001 From: msizanoen1 Date: Tue, 14 Feb 2023 20:26:11 +0700 Subject: [PATCH] window/x11: Make process_property_notify a virtual method Part-of: --- src/x11/window-x11.c | 21 +++++++++++++-------- src/x11/window-x11.h | 6 ++++-- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c index 34dbeb855..9c38bb97b 100644 --- a/src/x11/window-x11.c +++ b/src/x11/window-x11.c @@ -90,6 +90,10 @@ meta_window_x11_maybe_focus_delayed (MetaWindow *window, GQueue *other_focus_candidates, guint32 timestamp); +static void +meta_window_x11_impl_process_property_notify (MetaWindow *window, + XPropertyEvent *event); + static void meta_window_x11_init (MetaWindowX11 *window_x11) { @@ -2229,6 +2233,7 @@ meta_window_x11_class_init (MetaWindowX11Class *klass) klass->freeze_commits = meta_window_x11_impl_freeze_commits; klass->thaw_commits = meta_window_x11_impl_thaw_commits; klass->always_update_shape = meta_window_x11_impl_always_update_shape; + klass->process_property_notify = meta_window_x11_impl_process_property_notify; obj_props[PROP_ATTRIBUTES] = g_param_spec_pointer ("attributes", @@ -2933,9 +2938,9 @@ meta_window_x11_configure_request (MetaWindow *window, return TRUE; } -static gboolean -process_property_notify (MetaWindow *window, - XPropertyEvent *event) +static void +meta_window_x11_impl_process_property_notify (MetaWindow *window, + XPropertyEvent *event) { Window xid = window->xwindow; @@ -2952,19 +2957,19 @@ process_property_notify (MetaWindow *window, if (event->atom == window->display->x11_display->atom__NET_WM_USER_TIME && window->user_time_window) { - xid = window->user_time_window; + xid = window->user_time_window; } meta_window_reload_property_from_xwindow (window, xid, event->atom, FALSE); - - return TRUE; } -gboolean +void meta_window_x11_property_notify (MetaWindow *window, XEvent *event) { - return process_property_notify (window, &event->xproperty); + MetaWindowX11Class *klass = META_WINDOW_X11_GET_CLASS (window); + + klass->process_property_notify (window, &event->xproperty); } #define _NET_WM_MOVERESIZE_SIZE_TOPLEFT 0 diff --git a/src/x11/window-x11.h b/src/x11/window-x11.h index 598ece23e..6d6725785 100644 --- a/src/x11/window-x11.h +++ b/src/x11/window-x11.h @@ -44,6 +44,8 @@ struct _MetaWindowX11Class void (*freeze_commits) (MetaWindow *window); void (*thaw_commits) (MetaWindow *window); gboolean (*always_update_shape) (MetaWindow *window); + void (*process_property_notify) (MetaWindow *window, + XPropertyEvent *event); }; MetaWindow * meta_window_x11_new (MetaDisplay *display, @@ -71,8 +73,8 @@ void meta_window_x11_recalc_window_type (MetaWindow *window); gboolean meta_window_x11_configure_request (MetaWindow *window, XEvent *event); -gboolean meta_window_x11_property_notify (MetaWindow *window, - XEvent *event); +void meta_window_x11_property_notify (MetaWindow *window, + XEvent *event); gboolean meta_window_x11_client_message (MetaWindow *window, XEvent *event);