gtk+ r21000 - in trunk: . gtk



Author: tml
Date: Mon Aug  4 23:44:59 2008
New Revision: 21000
URL: http://svn.gnome.org/viewvc/gtk+?rev=21000&view=rev

Log:
2008-08-05  Tor Lillqvist  <tml novell com>

	Bug 544684 - Win64 issue, window handles are assumed to be 32-bit

	* gtk/gtksocket-win32.c: Don't cast HWND to guint, pass it as such
	as the GdkNativeWindow parameter to
	gtk_window_remove_embedded_xid(). Debugging printout format fixes.

	* gtk/gtkwin32embed.h
	* gtk/gtkwin32embed.c: Change the types of wparam and lparam
	parameters to actually be WPARAM and LPARAM.

	* gtk/gtkplug-win32.c: Adapt accordingly.



Modified:
   trunk/ChangeLog
   trunk/gtk/gtkplug-win32.c
   trunk/gtk/gtksocket-win32.c
   trunk/gtk/gtkwin32embed.c
   trunk/gtk/gtkwin32embed.h

Modified: trunk/gtk/gtkplug-win32.c
==============================================================================
--- trunk/gtk/gtkplug-win32.c	(original)
+++ trunk/gtk/gtkplug-win32.c	Mon Aug  4 23:44:59 2008
@@ -55,7 +55,7 @@
     {
       _gtk_win32_embed_send (plug->socket_window,
 			     GTK_WIN32_EMBED_PARENT_NOTIFY,
-			     (int) GDK_WINDOW_HWND (GTK_WIDGET (plug)->window),
+			     (WPARAM) GDK_WINDOW_HWND (GTK_WIDGET (plug)->window),
 			     GTK_WIN32_EMBED_PROTOCOL_VERSION);
       _gtk_win32_embed_send (plug->socket_window,
 			     GTK_WIN32_EMBED_EVENT_PLUG_MAPPED, 0, 0);

Modified: trunk/gtk/gtksocket-win32.c
==============================================================================
--- trunk/gtk/gtksocket-win32.c	(original)
+++ trunk/gtk/gtksocket-win32.c	Mon Aug  4 23:44:59 2008
@@ -62,7 +62,7 @@
 _gtk_socket_windowing_end_embedding_toplevel (GtkSocket *socket)
 {
   gtk_window_remove_embedded_xid (GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (socket))),
-				  (guint) GDK_WINDOW_HWND (socket->plug_window));
+				  GDK_WINDOW_HWND (socket->plug_window));
 }
 
 void
@@ -215,17 +215,18 @@
     default:
       if (msg->message == _gtk_win32_embed_message_type (GTK_WIN32_EMBED_PARENT_NOTIFY))
 	{
-	  GTK_NOTE (PLUGSOCKET, g_printerr ("GtkSocket: PARENT_NOTIFY received window=%#x version=%ld\n", msg->wParam, msg->lParam));
+	  GTK_NOTE (PLUGSOCKET, g_printerr ("GtkSocket: PARENT_NOTIFY received window=%p version=%d\n",
+					    (gpointer) msg->wParam, (int) msg->lParam));
 	  /* If we some day different protocols deployed need to add
 	   * some more elaborate version handshake
 	   */
 	  if (msg->lParam != GTK_WIN32_EMBED_PROTOCOL_VERSION)
 	    g_warning ("GTK Win32 embedding protocol version mismatch, "
-		       "client uses version %ld, we understand version %d",
-		       msg->lParam, GTK_WIN32_EMBED_PROTOCOL_VERSION);
+		       "client uses version %d, we understand version %d",
+		       (int) msg->lParam, GTK_WIN32_EMBED_PROTOCOL_VERSION);
 	  if (!socket->plug_window)
 	    {
-	      _gtk_socket_add_window (socket, msg->wParam, FALSE);
+	      _gtk_socket_add_window (socket, (GdkNativeWindow) msg->wParam, FALSE);
 	      
 	      if (socket->plug_window)
 		GTK_NOTE (PLUGSOCKET, g_printerr ("GtkSocket: window created"));

Modified: trunk/gtk/gtkwin32embed.c
==============================================================================
--- trunk/gtk/gtkwin32embed.c	(original)
+++ trunk/gtk/gtkwin32embed.c	Mon Aug  4 23:44:59 2008
@@ -71,8 +71,8 @@
 void
 _gtk_win32_embed_send (GdkWindow               *recipient,
 		       GtkWin32EmbedMessageType message,
-		       gint		        wparam,
-		       gint			lparam)
+		       WPARAM		        wparam,
+		       LPARAM			lparam)
 {
   PostMessage (GDK_WINDOW_HWND (recipient),
 	       _gtk_win32_embed_message_type (message),
@@ -82,7 +82,7 @@
 void
 _gtk_win32_embed_send_focus_message (GdkWindow               *recipient,
 				     GtkWin32EmbedMessageType message,
-				     gint		      wparam)
+				     WPARAM		      wparam)
 {
   int lparam = 0;
 

Modified: trunk/gtk/gtkwin32embed.h
==============================================================================
--- trunk/gtk/gtkwin32embed.h	(original)
+++ trunk/gtk/gtkwin32embed.h	Mon Aug  4 23:44:59 2008
@@ -82,11 +82,11 @@
 void _gtk_win32_embed_pop_message (void);
 void _gtk_win32_embed_send (GdkWindow		    *recipient,
 			    GtkWin32EmbedMessageType message,
-			    gint		     wparam,
-			    gint                     lparam);
+			    WPARAM		     wparam,
+			    LPARAM                   lparam);
 void _gtk_win32_embed_send_focus_message (GdkWindow		  *recipient,
 					  GtkWin32EmbedMessageType message,
-					  gint		           wparam);
+					  WPARAM	           wparam);
 void     _gtk_win32_embed_set_focus_wrapped  (void);
 gboolean _gtk_win32_embed_get_focus_wrapped  (void);
 



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