On Sat, May 14, 2011 at 20:34:24 +0200, Julien Danjou wrote:

> On Sat, May 14 2011, Julien Cristau wrote:
> 
> > xcb_window_t is uint32_t, Window is unsigned long.
> 
> Well, I think it's the good old Xlib problem isn't? I mean, the protocol
> defines XID has being uint32_t so…
> 
Yes.

> > sn_launchee_context_setup_window is public API.  I somehow managed to
> > miss this before uploading 0.11, but I think it needs fixing.
> 
> Julien, if you can provide a patch for libsn, I can do another release
> with the patch inside.
> 
Attached patch reverts the prototype change to get back to the previous
ABI/API.

Cheers,
Julien
>From 3a4ecf2ef235290782961433f2cdf9f14b455491 Mon Sep 17 00:00:00 2001
From: Julien Cristau <jcris...@debian.org>
Date: Sat, 14 May 2011 20:41:50 +0200
Subject: [PATCH] Revert prototype change for sn_launchee_context_setup_window()

A window is 32bit on the wire, but Xlib's Window is an unsigned long,
whereas xcb_window_t is uint32_t, so that change in
1f8260481453cd7632225a3a2ae9c4b090d25241 broke ABI.  Revert back to
using Window in the public API.

Signed-off-by: Julien Cristau <jcris...@debian.org>
---
 libsn/sn-launchee.c |    4 ++--
 libsn/sn-launchee.h |    2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libsn/sn-launchee.c b/libsn/sn-launchee.c
index c7aae1f..eed6cef 100644
--- a/libsn/sn-launchee.c
+++ b/libsn/sn-launchee.c
@@ -217,10 +217,10 @@ sn_launchee_context_complete (SnLauncheeContext *context)
  **/
 void
 sn_launchee_context_setup_window (SnLauncheeContext *context,
-                                  xcb_window_t       xwindow)
+                                  Window             xwindow)
 {
   sn_internal_set_utf8_string (context->display,
-                               xwindow,
+                               (xcb_window_t)xwindow,
                                sn_internal_get_net_startup_id_atom(context->display),
                                context->startup_id);
 }
diff --git a/libsn/sn-launchee.h b/libsn/sn-launchee.h
index 3f694d5..a04d0ec 100644
--- a/libsn/sn-launchee.h
+++ b/libsn/sn-launchee.h
@@ -45,7 +45,7 @@ int                sn_launchee_context_get_id_has_timestamp (SnLauncheeContext *
 Time               sn_launchee_context_get_timestamp        (SnLauncheeContext *context);
 void               sn_launchee_context_complete             (SnLauncheeContext *context);
 void               sn_launchee_context_setup_window         (SnLauncheeContext *context,
-                                                             xcb_window_t       xwindow);
+                                                             Window             xwindow);
 
 SN_END_DECLS
 
-- 
1.7.2.5

Reply via email to