Thunar 1.2.x segfaulting for OpenEmbedded cross builds

Andreas Mueller schnitzeltony at gmx.de
Tue Aug 9 11:00:08 CEST 2011


Hi

as you might know there is now xfce 4.8 available on OpenEmbedded core/meta [1]. 
I have been working on this for a while and would like to fix a problem with 
thunar:

Since xfce 4.8 / thunar 1.2.x starting thunar crashes with segfault. I started 
debugging and found in thunar-application.c line 1075:

static void
thunar_application_process_files (ThunarApplication *application)
{
  ThunarFile *file;
  GdkScreen  *screen;

  _thunar_return_if_fail (THUNAR_IS_APPLICATION (application));
  
  /* don't do anything if no files are to be processed */
  if (application->files_to_launch == NULL)
    return;

  /* take the next file from the queue */
  file = THUNAR_FILE (application->files_to_launch->data);

  /* retrieve the screen we need to launch the file on */
  screen = g_object_get_qdata (G_OBJECT (file), thunar_application_screen_quark);

  /* resolve the file and/or mount its enclosing volume 
   * before handling it in the callback */
  thunar_browser_poke_file (THUNAR_BROWSER (application), file, screen,
                            thunar_application_process_files_finish, NULL);
}

When I step through this, the variable 'screen' is NULL after call of  
'g_object_get_qdata' and 'thunar_browser_poke_file' causes segfault.

I don't understand what this code is intended to do, but I think the variable 
screen should not be NULL. 

Does anybody have an idea what might cause 'g_object_get_qdata' return NULL and 
what can be done to fix/workaround? I have the feeling that it might be just a 
configuration or dependency missing...

Suggestions welcome

Andreas

[1] http://cgit.openembedded.org/cgit.cgi/meta-
openembedded/commit/?id=cc7dcd22b4c7464b604d298b53a9ef15d1757f7a


More information about the Xfce4-dev mailing list