summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Keller <skeller@gnome.org>2023-04-16 23:45:52 +0200
committerSebastian Keller <skeller@gnome.org>2023-04-17 01:52:36 +0200
commitdddaf19d07605ff42004dad44caa17972d1b925b (patch)
tree893c1b6a2242b43a2c593ce9047924211944f44f
parent6b57ab897582dfc8dce09ca343bdca6f3371f037 (diff)
downloadmutter-dddaf19d07605ff42004dad44caa17972d1b925b.tar.gz
x11: Always initialize all fields of XEvents sent via XSendEvent
The X server ignores the send_event and serial in incoming XEvents, so they were not initialized when calling XSendEvent in a few places. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/2641 Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2964>
-rw-r--r--src/frames/meta-frame.c2
-rw-r--r--src/x11/events.c2
-rw-r--r--src/x11/meta-sync-counter.c2
-rw-r--r--src/x11/window-x11.c4
4 files changed, 5 insertions, 5 deletions
diff --git a/src/frames/meta-frame.c b/src/frames/meta-frame.c
index 21be7c140..be685c51f 100644
--- a/src/frames/meta-frame.c
+++ b/src/frames/meta-frame.c
@@ -157,7 +157,7 @@ on_frame_close_request (GtkWindow *window,
{
GdkDisplay *display = gtk_widget_get_display (GTK_WIDGET (window));
GtkWidget *content;
- XClientMessageEvent ev;
+ XClientMessageEvent ev = { 0 };
Window client_xwindow;
Atom delete_window_atom;
diff --git a/src/x11/events.c b/src/x11/events.c
index a2a6bad0a..90d07cb5e 100644
--- a/src/x11/events.c
+++ b/src/x11/events.c
@@ -1129,7 +1129,7 @@ static void
process_selection_request (MetaX11Display *x11_display,
XEvent *event)
{
- XSelectionEvent reply;
+ XSelectionEvent reply = { 0 };
if (x11_display->wm_sn_selection_window != event->xselectionrequest.owner ||
x11_display->wm_sn_atom != event->xselectionrequest.selection)
diff --git a/src/x11/meta-sync-counter.c b/src/x11/meta-sync-counter.c
index 2ac665856..49274f639 100644
--- a/src/x11/meta-sync-counter.c
+++ b/src/x11/meta-sync-counter.c
@@ -222,7 +222,7 @@ meta_sync_counter_send_request (MetaSyncCounter *sync_counter)
{
MetaWindow *window = sync_counter->window;
MetaX11Display *x11_display = window->display->x11_display;
- XClientMessageEvent ev;
+ XClientMessageEvent ev = { 0, };
gint64 wait_serial;
if (sync_counter->sync_request_counter == None ||
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index ce9c204cd..1f71eb406 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -126,7 +126,7 @@ send_icccm_message (MetaWindow *window,
* data[1] time stamp
*/
- XClientMessageEvent ev;
+ XClientMessageEvent ev = { 0 };
MetaX11Display *x11_display = window->display->x11_display;
ev.type = ClientMessage;
@@ -235,7 +235,7 @@ send_configure_notify (MetaWindow *window)
MetaX11Display *x11_display = window->display->x11_display;
MetaWindowX11 *window_x11 = META_WINDOW_X11 (window);
MetaWindowX11Private *priv = meta_window_x11_get_instance_private (window_x11);
- XEvent event;
+ XEvent event = { 0 };
g_assert (!window->override_redirect);