I'm porting a webkitgtk app from F16 to F19. F16 uses webkitgtk-1.6.1-90.fc16.x86_64 F19 uses webkitgtk-2.0.4-1.fc19.x86_64
What I am seeing is a SEGV in webkit. #0 WebCore::WidgetBackingStore::cairoSurface (this=0x0) at Source/WebCore/platform/gtk/GtkWidgetBackingStoreX11.cpp:90 #1 0x00007ffff6143081 in webkit_web_view_expose_event (widget=widget@entry=0x6cc050, event=0x7fffffffcee0) at Source/WebKit/gtk/webkit/webkitwebview.cpp:670 #2 0x00007ffff57d26ec in _gtk_marshal_BOOLEAN__BOXED (closure=0x6a64a0, return_value=0x7fffffffcb00, n_param_values=<optimized out>, param_values=0x7fffffffcbb0, invocation_hint=<optimized out>, marshal_data=<optimized out>) at gtkmarshalers.c:86 #3 0x00007ffff3132a28 in g_closure_invoke (closure=closure@entry=0x6a64a0, return_value=return_value@entry=0x7fffffffcb00, n_param_values=2, param_values=param_values@entry=0x7fffffffcbb0, invocation_hint=invocation_hint@entry=0x7fffffffcb50) at gclosure.c:777 #4 0x00007ffff31437fb in signal_emit_unlocked_R (node=node@entry=0x6a64d0, detail=detail@entry=0, instance=instance@entry=0x6cc050, emission_return=emission_return@entry=0x7fffffffcc80, instance_and_params=instance_and_params@entry=0x7fffffffcbb0) at gsignal.c:3622 #5 0x00007ffff314b462 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffffffcd48) at gsignal.c:3338 #6 0x00007ffff314ba72 in g_signal_emit (instance=instance@entry=0x6cc050, signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3384 #7 0x00007ffff58fa474 in gtk_widget_event_internal (widget=widget@entry=0x6cc050, event=event@entry=0x7fffffffcee0) at gtkwidget.c:5017 #8 0x00007ffff58fa891 in IA__gtk_widget_send_expose (widget=widget@entry=0x6cc050, event=event@entry=0x7fffffffcee0) at gtkwidget.c:4846 #9 0x00007ffff57d0fc0 in IA__gtk_main_do_event (event=0x7fffffffcee0) at gtkmain.c:1610 #10 0x00007ffff49bb7ff in _gdk_window_process_updates_recurse (window=window@entry=0x69f480, expose_region=expose_region@entry=0x6fcb90) at gdkwindow.c:5427 #11 0x00007ffff49bb7a5 in _gdk_window_process_updates_recurse (window=window@entry=0x69f360, expose_region=expose_region@entry=0x6fcb60) at gdkwindow.c:5400 #12 0x00007ffff49f14b5 in _gdk_windowing_window_process_updates_recurse (window=window@entry=0x69f360, region=region@entry=0x6fcb60) at gdkwindow- x11.c:5643 #13 0x00007ffff49b81da in gdk_window_process_updates_internal (window=0x69f360) at gdkwindow.c:5594 #14 0x00007ffff49b8b18 in IA__gdk_window_process_all_updates () at gdkwindow.c:5702 #15 0x00007ffff574d061 in gtk_container_idle_sizer (data=<optimized out>) at gtkcontainer.c:1360 #16 0x00007ffff4997207 in gdk_threads_dispatch (data=0x6d3c00) at gdk.c:512 #17 0x00007ffff2e3ee06 in g_main_dispatch (context=0x671d00) at gmain.c:3054 #18 g_main_context_dispatch (context=context@entry=0x671d00) at gmain.c:3630 #19 0x00007ffff2e3f158 in g_main_context_iterate (context=0x671d00, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3701 #20 0x00007ffff2e3f55a in g_main_loop_run (loop=0x672790) at gmain.c:3895 #21 0x000000000041dc61 in ONELAN::AsyncIoSchedulerGlib::scheduleUntilQuit (this=0x7fffffffd290) at ../../Common/async_scheduler_glib.cpp:55 #22 0x0000000000426029 in main (argc=10, argv=0x7fffffffe478) at player_html_main.cpp:102 The code at frame 1 is: 668 for (int i = 0; i < rectCount; i++) { 669 copyRectFromCairoSurfaceToContext(WEBKIT_WEB_VIEW(widget)- >priv->backingStore->cairoSurface(), 670 cr.get(), IntSize(), IntRect(rects.get()[i])); And the SEGV is because the backingStore is 0. Examining the webitgtk code I can see that backingStore is only filled in on a resize. But in my app the expose happens before any resize. Is this a known issue with a known solution? Barry _______________________________________________ webkit-help mailing list webkit-help@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-help