X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkwin32embedwidget.c;h=0ac9d08c2aa3f044d1025dc6f47982bb0b311879;hb=d97861bd8b338c3d25d7ffb5496edee9eee9bfbb;hp=7ab456d2660c2b930e1927199f91f64289b91aa7;hpb=e346d26f700139ba29c38e67f1878a8e65d2f5a7;p=~andy%2Fgtk diff --git a/gtk/gtkwin32embedwidget.c b/gtk/gtkwin32embedwidget.c index 7ab456d26..0ac9d08c2 100644 --- a/gtk/gtkwin32embedwidget.c +++ b/gtk/gtkwin32embedwidget.c @@ -12,8 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * License along with this library. If not, see .Free */ /* @@ -31,6 +30,9 @@ #include "gtkwin32embedwidget.h" #include "gtkintl.h" #include "gtkprivate.h" +#include "gtkwindowprivate.h" +#include "gtkwidgetprivate.h" +#include "gtkcontainerprivate.h" static void gtk_win32_embed_widget_realize (GtkWidget *widget); @@ -88,20 +90,20 @@ gtk_win32_embed_widget_init (GtkWin32EmbedWidget *embed_widget) } GtkWidget* -_gtk_win32_embed_widget_new (GdkNativeWindow parent_id) +_gtk_win32_embed_widget_new (HWND parent) { GtkWin32EmbedWidget *embed_widget; embed_widget = g_object_new (GTK_TYPE_WIN32_EMBED_WIDGET, NULL); embed_widget->parent_window = - gdk_window_lookup_for_display (gdk_display_get_default (), - parent_id); + gdk_win32_window_lookup_for_display (gdk_display_get_default (), + parent); if (!embed_widget->parent_window) embed_widget->parent_window = - gdk_window_foreign_new_for_display (gdk_display_get_default (), - parent_id); + gdk_win32_window_foreign_new_for_display (gdk_display_get_default (), + parent); return GTK_WIDGET (embed_widget); } @@ -134,7 +136,7 @@ gtk_win32_embed_widget_unrealize (GtkWidget *widget) if (embed_widget->parent_window != NULL) { - gdk_window_set_user_data (embed_widget->parent_window, NULL); + gtk_widget_unregister_window (widget, embed_widget->parent_window); g_object_unref (embed_widget->parent_window); embed_widget->parent_window = NULL; } @@ -149,7 +151,7 @@ gtk_win32_embed_widget_window_process (HWND hwnd, UINT msg, WPARAM wparam, LPARA GtkWin32EmbedWidget *embed_widget; gpointer user_data; - window = gdk_window_lookup ((GdkNativeWindow)hwnd); + window = gdk_win32_window_lookup_for_display (gdk_display_get_default (), hwnd); if (window == NULL) { g_warning ("No such window!"); return 0; @@ -232,7 +234,7 @@ gtk_win32_embed_widget_realize (GtkWidget *widget) gdk_window = gdk_window_new (embed_widget->parent_window, &attributes, attributes_mask); gtk_widget_set_window (widget, gdk_window); - gdk_window_set_user_data (gdk_window, window); + gtk_widget_register_window (widget, gdk_window); embed_widget->old_window_procedure = (gpointer) SetWindowLongPtrW(GDK_WINDOW_HWND (gdk_window), @@ -243,8 +245,8 @@ gtk_win32_embed_widget_realize (GtkWidget *widget) styles = GetWindowLongPtr(GDK_WINDOW_HWND (gdk_window), GWL_STYLE); SetWindowLongPtrW(GDK_WINDOW_HWND (gdk_window), GWL_STYLE, styles | WS_TABSTOP); - gtk_widget_style_attach (widget); - gtk_style_set_background (gtk_widget_get_style (widget), gdk_window, GTK_STATE_NORMAL); + gtk_style_context_set_background (gtk_widget_get_style_context (widget), + gdk_window); } static void