summaryrefslogtreecommitdiff
path: root/gdk
diff options
context:
space:
mode:
authorTor Lillqvist <tml@novell.com>2008-08-04 22:35:16 +0000
committerTor Lillqvist <tml@src.gnome.org>2008-08-04 22:35:16 +0000
commitb1e744b064bc88bda3651b03f90aff5184532b8e (patch)
treeccd12c5689398051d556cfed1445723ba1aac2cf /gdk
parentad2ea92f7519b9d4827c6bdb17f560566f778627 (diff)
downloadgdk-pixbuf-b1e744b064bc88bda3651b03f90aff5184532b8e.tar.gz
Bug 544684 - Win64 issue, window handles are assumed to be 32-bit
2008-08-05 Tor Lillqvist <tml@novell.com> Bug 544684 - Win64 issue, window handles are assumed to be 32-bit * gdk/gdkdnd.h * gdk/gdkdnd.c * gdk/win32/gdkdnd-win32.c * gdk/x11/gdkdnd-x11.c: Change return value and type of window id from guint32 to GdkNativeWindow for gdk_drag_get_protocol_for_display() and gdk_drag_get_protocol(). This is not an API break on existing platforms, as GdkNativeWindow has been guint32 for them already. svn path=/trunk/; revision=20988
Diffstat (limited to 'gdk')
-rw-r--r--gdk/gdkdnd.c12
-rw-r--r--gdk/gdkdnd.h12
-rw-r--r--gdk/win32/gdkdnd-win32.c10
-rw-r--r--gdk/x11/gdkdnd-x11.c19
4 files changed, 28 insertions, 25 deletions
diff --git a/gdk/gdkdnd.c b/gdk/gdkdnd.c
index 1d671c48c..64336600b 100644
--- a/gdk/gdkdnd.c
+++ b/gdk/gdkdnd.c
@@ -61,17 +61,17 @@ gdk_drag_find_window (GdkDragContext *context,
/**
* gdk_drag_get_protocol:
- * @xid: the X id of the destination window.
+ * @xid: the windowing system id of the destination window.
* @protocol: location where the supported DND protocol is returned.
*
* Finds out the DND protocol supported by a window.
*
- * Return value: the X id of the window where the drop should happen. This
- * may be @xid or the X id of a proxy window, or None if @xid doesn't
- * support Drag and Drop.
+ * Return value: the windowing system specific id for the window where
+ * the drop should happen. This may be @xid or the id of a proxy
+ * window, or zero if @xid doesn't support Drag and Drop.
**/
-guint32
-gdk_drag_get_protocol (guint32 xid,
+GdkNativeWindow
+gdk_drag_get_protocol (GdkNativeWindow xid,
GdkDragProtocol *protocol)
{
return gdk_drag_get_protocol_for_display (gdk_display_get_default (), xid, protocol);
diff --git a/gdk/gdkdnd.h b/gdk/gdkdnd.h
index ae8362fbd..b9f83352f 100644
--- a/gdk/gdkdnd.h
+++ b/gdk/gdkdnd.h
@@ -130,9 +130,10 @@ GdkAtom gdk_drag_get_selection (GdkDragContext *context);
GdkDragContext * gdk_drag_begin (GdkWindow *window,
GList *targets);
-guint32 gdk_drag_get_protocol_for_display (GdkDisplay *display,
- guint32 xid,
- GdkDragProtocol *protocol);
+GdkNativeWindow gdk_drag_get_protocol_for_display (GdkDisplay *display,
+ GdkNativeWindow xid,
+ GdkDragProtocol *protocol);
+
void gdk_drag_find_window_for_screen (GdkDragContext *context,
GdkWindow *drag_window,
GdkScreen *screen,
@@ -142,8 +143,9 @@ void gdk_drag_find_window_for_screen (GdkDragContext *context,
GdkDragProtocol *protocol);
#ifndef GDK_MULTIHEAD_SAFE
-guint32 gdk_drag_get_protocol (guint32 xid,
- GdkDragProtocol *protocol);
+GdkNativeWindow gdk_drag_get_protocol (GdkNativeWindow xid,
+ GdkDragProtocol *protocol);
+
void gdk_drag_find_window (GdkDragContext *context,
GdkWindow *drag_window,
gint x_root,
diff --git a/gdk/win32/gdkdnd-win32.c b/gdk/win32/gdkdnd-win32.c
index 864470182..41773a68f 100644
--- a/gdk/win32/gdkdnd-win32.c
+++ b/gdk/win32/gdkdnd-win32.c
@@ -854,7 +854,7 @@ enum_formats_new (void)
static gboolean
resolve_link (HWND hWnd,
wchar_t *link,
- guchar **lpszPath)
+ gchar **lpszPath)
{
WIN32_FILE_ATTRIBUTE_DATA wfad;
HRESULT hres;
@@ -938,7 +938,7 @@ gdk_dropfiles_filter (GdkXEvent *xev,
HANDLE hdrop;
POINT pt;
gint nfiles, i;
- guchar *fileName, *linkedFile;
+ gchar *fileName, *linkedFile;
if (msg->message == WM_DROPFILES)
{
@@ -1294,9 +1294,9 @@ gdk_drag_begin (GdkWindow *window,
#endif
}
-guint32
+GdkNativeWindow
gdk_drag_get_protocol_for_display (GdkDisplay *display,
- guint32 xid,
+ GdkNativeWindow xid,
GdkDragProtocol *protocol)
{
GdkWindow *window;
@@ -1373,7 +1373,7 @@ gdk_drag_find_window_for_screen (GdkDragContext *context,
*dest_window = NULL;
else
{
- *dest_window = gdk_win32_handle_table_lookup (GPOINTER_TO_UINT (a.result));
+ *dest_window = gdk_win32_handle_table_lookup (a.result);
if (*dest_window)
{
*dest_window = gdk_window_get_toplevel (*dest_window);
diff --git a/gdk/x11/gdkdnd-x11.c b/gdk/x11/gdkdnd-x11.c
index 62a2d8c0f..4ff227678 100644
--- a/gdk/x11/gdkdnd-x11.c
+++ b/gdk/x11/gdkdnd-x11.c
@@ -3001,15 +3001,15 @@ gdk_drag_begin (GdkWindow *window,
return new_context;
}
-static guint32
+static GdkNativeWindow
_gdk_drag_get_protocol_for_display (GdkDisplay *display,
- guint32 xid,
+ GdkNativeWindow xid,
GdkDragProtocol *protocol,
guint *version)
{
GdkWindow *window;
- guint32 retval;
+ GdkNativeWindow retval;
g_return_val_if_fail (GDK_IS_DISPLAY (display), None);
base_precache_atoms (display);
@@ -3106,25 +3106,26 @@ _gdk_drag_get_protocol_for_display (GdkDisplay *display,
}
*protocol = GDK_DRAG_PROTO_NONE;
- return None;
+
+ return 0; /* a.k.a. None */
}
/**
* gdk_drag_get_protocol_for_display:
* @display: the #GdkDisplay where the destination window resides
- * @xid: the X id of the destination window.
+ * @xid: the windowing system id of the destination window.
* @protocol: location where the supported DND protocol is returned.
- * @returns: the X id of the window where the drop should happen. This
- * may be @xid or the X id of a proxy window, or None if @xid doesn't
+ * @returns: the windowing system id of the window where the drop should happen. This
+ * may be @xid or the id of a proxy window, or zero if @xid doesn't
* support Drag and Drop.
*
* Finds out the DND protocol supported by a window.
*
* Since: 2.2
*/
-guint32
+GdkNativeWindow
gdk_drag_get_protocol_for_display (GdkDisplay *display,
- guint32 xid,
+ GdkNativeWindow xid,
GdkDragProtocol *protocol)
{
return _gdk_drag_get_protocol_for_display (display, xid, protocol, NULL);