qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] ui/gtk.c vs old gtk versions


From: Cole Robinson
Subject: Re: [Qemu-devel] ui/gtk.c vs old gtk versions
Date: Mon, 03 Nov 2014 17:27:39 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

On 11/03/2014 08:32 AM, Daniel P. Berrange wrote:
On Mon, Nov 03, 2014 at 02:11:35PM +0100, Kevin Wolf wrote:
Am 03.11.2014 um 14:06 hat Cornelia Huck geschrieben:
After the latest gtk updates, master fails to build for me on a
SLES11SP3 machine:

/home/cohuck/git/qemu/ui/gtk.c: In function ‘gd_key_event’:
/home/cohuck/git/qemu/ui/gtk.c:943: error: ‘GDK_KEY_Pause’ undeclared (first 
use in this function)
/home/cohuck/git/qemu/ui/gtk.c:943: error: (Each undeclared identifier is 
reported only once
/home/cohuck/git/qemu/ui/gtk.c:943: error: for each function it appears in.)

Of course, the gtk version is not the freshest:

pkg-config --modversion "gtk+-2.0"
2.18.9

On machines with less-ancient gtk (say 2.24) everything builds fine.

I don't really care about gtk support on the SLES11 machine (it's s390
anyway), but we should probably either fence the pause key support or
have configure require a more recent version.

I think I saw the same thing on RHEL 6 (and hacked around it because I
didn't have time to investigate it).

In older versions of GDK, the constants were lacking the 'KEY_' part,
so it would have just been  GDK_Pause.

In GTK-VNC I worked around this by adding this kind of thing to our
source

   #ifndef GDK_Return
   #define GDK_Return GDK_KEY_Return
   #endif

Since there was a fairly small set of key constants that we needed to
care about.


Indeed ui/gtk.c already has a number of similar workarounds.

Untested fix below. Cornelia or Kevin, can you confirm?

- Cole

diff --git a/ui/gtk.c b/ui/gtk.c
index de564cc..38bf463 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -128,6 +128,7 @@ static inline void gdk_drawable_get_size(GdkWindow *w, gint *ww, gint *wh)
 #define GDK_KEY_q GDK_q
 #define GDK_KEY_plus GDK_plus
 #define GDK_KEY_minus GDK_minus
+#define GDK_KEY_Pause GDK_Pause
 #endif

 #define HOTKEY_MODIFIERS        (GDK_CONTROL_MASK | GDK_MOD1_MASK)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]