GNOME Bugzilla – Bug 691812
gioinputstream - give task as callback_data not task_data
Last modified: 2013-01-16 15:35:38 UTC
Created attachment 233554 [details] [review] give task as callback_data not task_data g_task_return_now pass task->callback_data as user_data, at least gio/ginputstream.c skip_callback_wrapper expect this user_data to be the task itself .It then extract the task_data from this task if I gdb , and cast the user_data to SkipFallbackAsyncData * instead of GTask * (ie task data instead of task itself) I get proper data ... but skip_callback_wrapper also need the task itelf. with current glib WebKitWebProcess crash for me at epiphany startup : Core was generated by `/opt/gnome/libexec/WebKitWebProcess 15'. Program terminated with signal 11, Segmentation fault.
+ Trace 231383
(gdb) p (SkipFallbackAsyncData *)user_data $5 = (SkipFallbackAsyncData *) 0x16d9320 (gdb) p *(SkipFallbackAsyncData *)user_data $6 = { buffer = "<HEAD><TITLE>Redirect</TITLE></HEAD>\n<BODY BGCOLOR=\"white\" FGCOLOR=\"black\">\n<FONT FACE=\"Helvetica,Arial\"><B>\n \" (...) 9223372036854775807, count_skipped = 0}
Comment on attachment 233554 [details] [review] give task as callback_data not task_data yeah, this is right, but let me add a test case for it before committing...
pushed, along with some tests. thanks for the patch