Setting text to "" would case textblock to return a width of 0, which would intern cause EWL to loop and redo the configure callbacks. Not sure why. I'm catching the 0 width in the text code and making it 1 now. So, this should work again (and does in the ewl_entry_test).
dan > Enlightenment CVS committal > > Author : lordchaos > Project : e17 > Module : libs/ewl > > Dir : e17/libs/ewl/src/lib > > > Modified Files: > ewl_iconbox.c > > > Log Message: > * It seems setting an ewl_text to "" seems to cause a lockup now > > > =================================================================== > RCS file: /cvsroot/enlightenment/e17/libs/ewl/src/lib/ewl_iconbox.c,v > retrieving revision 1.79 > retrieving revision 1.80 > diff -u -3 -r1.79 -r1.80 > --- ewl_iconbox.c 21 Nov 2005 23:25:15 -0000 1.79 > +++ ewl_iconbox.c 22 Nov 2005 05:14:57 -0000 1.80 > @@ -180,8 +180,6 @@ > > /*Set the defaults to 0 for layout*/ > ib->lx = ib->ly = ib->iw = ib->ih = 0; > - > - > > ib->ewl_iconbox_pane_inner = ewl_overlay_new(); > ewl_container_child_append(EWL_CONTAINER(ib->ewl_iconbox_scrollpane), > ib->ewl_iconbox_pane_inner); > @@ -195,12 +193,10 @@ > /*-------------------------------------------*/ > /* Get the context menu ready */ > ib->ewl_iconbox_context_menu = ewl_menu_new(); > - ewl_menu_item_text_set(EWL_MENU_ITEM(ib->ewl_iconbox_context_menu), ""); > + ewl_menu_item_text_set(EWL_MENU_ITEM(ib->ewl_iconbox_context_menu), " > "); > ewl_container_child_append(EWL_CONTAINER(ib->ewl_iconbox_menu_floater), > ib->ewl_iconbox_context_menu); > ewl_widget_show(ib->ewl_iconbox_context_menu); > > - > - > /* Add auto-arrange ability */ > ib->ewl_iconbox_view_menu = ewl_menu_new(); > ewl_menu_item_text_set(EWL_MENU_ITEM(ib->ewl_iconbox_view_menu), > @@ -236,7 +232,7 @@ > ib->ewl_iconbox_pane_inner); > > ib->icon_menu = ewl_menu_new(); > - ewl_menu_item_text_set(EWL_MENU_ITEM(ib->icon_menu), ""); > + ewl_menu_item_text_set(EWL_MENU_ITEM(ib->icon_menu), " "); > ewl_container_child_append(EWL_CONTAINER(ib->icon_menu_floater), > ib->icon_menu); > ewl_widget_show(ib->icon_menu); > > @@ -250,7 +246,6 @@ > > ewl_container_child_append(EWL_CONTAINER(ib->ewl_iconbox_pane_inner), > ib->icon_menu_floater); > > - > > > /*-----------------------------------*/ > @@ -287,7 +282,6 @@ > ewl_widget_show(ib->select); > /*ewl_widget_show(ib->select_floater);*/ > > - > > /*Init the icon list*/ > ib->ewl_iconbox_icon_list = ecore_list_new(); > @@ -295,6 +289,10 @@ > /* Show widgets */ > ewl_widget_show(ib->ewl_iconbox_pane_inner); > ewl_widget_show(ib->ewl_iconbox_scrollpane); > + ewl_widget_show(ib->ewl_iconbox_menu_floater); > + ewl_widget_show(ib->icon_menu_floater); > + > + > > /* Ewl Entry for the purposes of label editing - if enabled */ > ib->entry = ewl_entry_new(); > @@ -332,7 +330,7 @@ > ewl_callback_append(ib->ewl_iconbox_pane_inner, EWL_CALLBACK_MOUSE_UP, > ewl_iconbox_mouse_up, > ib); > ewl_callback_append(ib->ewl_iconbox_pane_inner, > EWL_CALLBACK_DND_POSITION, ewl_iconbox_dnd_position_cb, > ib); > ewl_callback_append(EWL_WIDGET(ib), EWL_CALLBACK_CONFIGURE, > ewl_iconbox_configure_cb, > NULL); > - ewl_callback_prepend(EWL_WIDGET(ib), EWL_CALLBACK_DESTROY, > ewl_iconbox_destroy_cb, > NULL); > + ewl_callback_append(EWL_WIDGET(ib), EWL_CALLBACK_DESTROY, > ewl_iconbox_destroy_cb, > NULL); > > > /*printf("Setup the iconbox...\n");*/ > @@ -1047,8 +1045,11 @@ > if (ev->button == 3 /* Confirm that this is not an icon event */ && > (ib->xdown > != ev->x && ib->ydown != ev->y)) { > /*printf ("Context menu: %d,%d\n", ev->x, ev->y);*/ > > - ewl_callback_call(EWL_WIDGET(ib->ewl_iconbox_context_menu), > EWL_CALLBACK_SELECT); > > ewl_floater_position_set(EWL_FLOATER(ib->ewl_iconbox_menu_floater), ev->x-ibx > + abs(px-ibx), ev->y-iby +abs(py-iby)); > + //ewl_widget_show(ib->ewl_iconbox_view_menu); > + //ewl_widget_show(ib->ewl_iconbox_context_menu); > + > //ewl_menu_popup_move_cb(EWL_MENU(ib->ewl_iconbox_context_menu)->base.popup, > NULL, ib->ewl_iconbox_context_menu); > + ewl_callback_call(EWL_WIDGET(ib->ewl_iconbox_context_menu), > EWL_CALLBACK_SELECT); > } else if (ev->button == 1 /* Confirm that this is not an icon event */ > && (ib->xdown > != ev->x && ib->ydown != ev->y)) { > ewl_object_custom_size_set(EWL_OBJECT(ib->select), 1, 1); > > > > > > ------------------------------------------------------- > This SF.Net email is sponsored by the JBoss Inc. Get Certified Today > Register for a JBoss Training Course. Free Certification Exam > for All Training Attendees Through End of 2005. For more info visit: > http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click > _______________________________________________ > enlightenment-cvs mailing list > enlightenment-cvs@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs > ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel