[Webkit-unassigned] [Bug 14781] [gtk] Make WebKitGtkPage not connect to its own sgiansl but set/override the default handlers of GtkWidgetClass

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun Jul 29 10:36:36 PDT 2007


http://bugs.webkit.org/show_bug.cgi?id=14781





------- Comment #2 from xan.lopez at gmail.com  2007-07-29 10:36 PDT -------
Looks very good!
+static gboolean webkit_gtk_page_expose_event(GtkWidget* widget,
GdkEventExpose* event)
+{
+    WebCore::Frame* frame = core(getFrameFromPage(WEBKIT_GTK_PAGE(widget)));
+    GdkRectangle clip;
+    gdk_region_get_clipbox(event->region, &clip);
+    gdk_window_begin_paint_region(event->window, event->region);

Why calling gdk_window_begin_paint_region? All drawing in GTK is double
buffered by default, and I don't see you disabling it.

+    gtk_container_forall(GTK_CONTAINER(widget), frame_gdk_expose_child,
&data);

GtkLayout should be doing this for you already, it isn't? Although I have to
admit I don't get what you do in the handler, so...

+    gdk_window_end_paint(event->window);
+
+    return TRUE;

Maybe you want to return FALSE in the expose handler? It's not uncommon to
connect to expose-event with g_signal_connect_after to do anything on the
already drawn surface, returning TRUE it the default handler you are won't
allow it.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list