Sam Bobroff wrote: > Carsten Haitzler (The Rasterman) wrote: > >>> On Sat, 20 Jan 2007 01:32:41 +1100 Sam Bobroff <[EMAIL PROTECTED]> babbled: >>> >> > [snip] > >>> unfortunately the real problem is that someone is calling >>> e_widget_sub_object_add >>> () on an object that isnt an e_widget - and thats bad. can you get a >>> backtrace? >>> >> > I've tracked this back as follows: > > _basic_create_widgets calls e_fm2_icon_get (with the file path > pointing to a .desktop file that won't produce an icon). > e_fm2_icon_get returns null, with ret_type "DESKTOP". > _basic_create_widgets calls e_widget_button_icon_set with oi = NULL. > e_widget_button_icon_set calls e_widget_sub_object_add with icon > = NULL. > e_widget_sub_object_add calls evas_object_type_get on NULL. > evas_object_type_get returns NULL. > e_widget_sub_object_add does a strcmp on NULL and crashes. > > I add an "if (oi)" before the call to e_widget_button_icon_set it stops > the crash. > > I don't know the e code at all, but from the "if (itype)" clause right > below this, it looks like having "itype" set implies an icon exists so > perhaps a fix would be to change e_fm2_icon_get to return a NULL > ret_type if it's going to return a NULL icon and change > _basic_create_widgets to move the e_widget_button_icon_set call (and > e_widget_frametable_object_append call?) inside the "if (itype)" clause. > I suppose it all depends on what callers of e_fm2_icon_get expect, and I > really don't know what that is ;-) > > As I said I'm just guessing but I hope this is useful anyway, > > Sam. > I have added some extra traps in e_widget_button_icon_set that checks for NULL icon and in effect hides any existing icon that was on the button. This provides a two-fold advantage: 1) button icons can now be "unset" and 2) traps around the icon == NULL problem your having.
Cheers, dh ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel