[Xfce4-commits] [apps/xfce4-terminal] 01/01: Resolve window manager warning
noreply at xfce.org
noreply at xfce.org
Tue Oct 25 14:26:27 CEST 2016
This is an automated email from the git hooks/post-receive script.
f2404 pushed a commit to branch master
in repository apps/xfce4-terminal.
commit ccd7e80a4613edc9948bd7ba43ee10e8ac06e506
Author: Igor <f2404 at yandex.ru>
Date: Tue Oct 25 15:26:02 2016 +0300
Resolve window manager warning
Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0
---
terminal/terminal-util.c | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/terminal/terminal-util.c b/terminal/terminal-util.c
index f851ee9..1e3ff37 100644
--- a/terminal/terminal-util.c
+++ b/terminal/terminal-util.c
@@ -98,27 +98,34 @@ void
terminal_util_activate_window (GtkWindow *window)
{
#ifdef GDK_WINDOWING_X11
+ guint32 timestamp;
XClientMessageEvent event;
+ GdkWindow *gdk_window = gtk_widget_get_window (GTK_WIDGET (window));
terminal_return_if_fail (GTK_IS_WINDOW (window));
terminal_return_if_fail (gtk_widget_get_realized (GTK_WIDGET (window)));
- if (!GDK_IS_X11_WINDOW (gtk_widget_get_window (GTK_WIDGET (window))))
+ if (!GDK_IS_X11_WINDOW (gdk_window))
return;
/* leave if the window is already active */
if (gtk_window_is_active (window))
return;
+ timestamp = gtk_get_current_event_time ();
+ if (timestamp == 0)
+ timestamp = gdk_x11_get_server_time (gdk_window);
+
/* we need a slightly custom version of the call through Gtk+ to
* properly focus the panel when a plugin calls
* xfce_panel_plugin_focus_widget() */
event.type = ClientMessage;
- event.window = GDK_WINDOW_XID (gtk_widget_get_window (GTK_WIDGET (window)));
+ event.window = GDK_WINDOW_XID (gdk_window);
event.message_type = gdk_x11_get_xatom_by_name ("_NET_ACTIVE_WINDOW");
event.format = 32;
event.data.l[0] = 1; /* app */
- event.data.l[1] = event.data.l[2] = event.data.l[3] = event.data.l[4] = 0;
+ event.data.l[1] = timestamp;
+ event.data.l[2] = event.data.l[3] = event.data.l[4] = 0;
gdk_error_trap_push ();
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list