From 9ac1dd78a1a685fa2adeca4ce7004ae97eecab60 Mon Sep 17 00:00:00 2001 From: "blizzard%redhat.com" Date: Wed, 12 Dec 2001 05:50:47 +0000 Subject: [PATCH] Checkpointing Changes. Not part of the build. Call Resize() after the widgets are created to make sure they are all the right size when they are shown. Make sure to flush the window draw queue after scrolling to get an immidiate repaint. git-svn-id: svn://10.0.0.236/trunk@110368 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/widget/src/gtk2/mozdrawingarea.c | 6 +++--- mozilla/widget/src/gtk2/nsWindow.cpp | 7 +++++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/mozilla/widget/src/gtk2/mozdrawingarea.c b/mozilla/widget/src/gtk2/mozdrawingarea.c index c54d4e16eaf..b249a6e47ef 100644 --- a/mozilla/widget/src/gtk2/mozdrawingarea.c +++ b/mozilla/widget/src/gtk2/mozdrawingarea.c @@ -41,7 +41,8 @@ static void moz_drawingarea_init (MozDrawingarea *drawingarea); /* static methods */ static void moz_drawingarea_create_windows (MozDrawingarea *drawingarea, - GdkWindow *parent, GtkWidget *widget); + GdkWindow *parent, + GtkWidget *widget); static GObjectClass *parent_class = NULL; @@ -192,6 +193,5 @@ void moz_drawingarea_scroll (MozDrawingarea *drawingarea, gint x, gint y) { - gdk_window_scroll(drawingarea->inner_window, - x, y); + gdk_window_scroll(drawingarea->inner_window, x, y); } diff --git a/mozilla/widget/src/gtk2/nsWindow.cpp b/mozilla/widget/src/gtk2/nsWindow.cpp index 3dbacbe5a44..415df37d081 100644 --- a/mozilla/widget/src/gtk2/nsWindow.cpp +++ b/mozilla/widget/src/gtk2/nsWindow.cpp @@ -44,9 +44,11 @@ #include #include +/* utility functions */ static nsWindow *get_window_for_gtk_widget(GtkWidget *widget); static nsWindow *get_window_for_gdk_window(GdkWindow *window); +/* callbacks from widgets */ static gboolean expose_event_cb (GtkWidget *widget, GdkEventExpose *event); static gboolean configure_event_cb (GtkWidget *widget, @@ -472,7 +474,9 @@ nsWindow::Scroll(PRInt32 aDx, PRInt32 aDy, nsRect *aClipRect) { + // XXX fix this so that it doesn't expose twice! moz_drawingarea_scroll(mDrawingarea, aDx, aDy); + gdk_window_process_all_updates(); return NS_OK; } @@ -1216,6 +1220,9 @@ nsWindow::NativeCreate(nsIWidget *aParent, GDK_WINDOW_XWINDOW(mDrawingarea->clip_window), GDK_WINDOW_XWINDOW(mDrawingarea->inner_window)); + // resize so that everything is set to the right dimensions + Resize(mBounds.width, mBounds.height, PR_FALSE); + return NS_OK; }