Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.h e_container.c e_int_config_display.c Log Message: fix segv's for display config dialog =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.h,v retrieving revision 1.132 retrieving revision 1.133 diff -u -3 -r1.132 -r1.133 --- e_border.h 8 Mar 2006 10:04:51 -0000 1.132 +++ e_border.h 10 May 2006 14:54:59 -0000 1.133 @@ -380,8 +380,8 @@ } changes; struct { - unsigned char start : 1; - int x, y; + unsigned char start : 1; + int x, y; } drag; unsigned int layer; =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_container.c,v retrieving revision 1.98 retrieving revision 1.99 diff -u -3 -r1.98 -r1.99 --- e_container.c 10 May 2006 14:29:41 -0000 1.98 +++ e_container.c 10 May 2006 14:54:59 -0000 1.99 @@ -1198,15 +1198,41 @@ bd = l->data; - if (bd->w > bd->zone->w) - e_border_resize(bd, bd->zone->w, bd->h); - if ((bd->x + bd->w) > (bd->zone->x + bd->zone->w)) - e_border_move(bd, bd->zone->x + bd->zone->w - bd->w, bd->y); - - if (bd->h > bd->zone->h) - e_border_resize(bd, bd->w, bd->zone->h); - if ((bd->y + bd->h) > (bd->zone->y + bd->zone->h)) - e_border_move(bd, bd->x, bd->zone->y + bd->zone->h - bd->h); + if (bd->saved.w > bd->zone->w) + bd->saved.w = bd->zone->w; + if ((bd->saved.x + bd->saved.w) > (bd->zone->x + bd->zone->w)) + bd->saved.x = bd->zone->x + bd->zone->w - bd->saved.w; + + if (bd->saved.h > bd->zone->h) + bd->saved.h = bd->zone->h; + if ((bd->saved.y + bd->saved.h) > (bd->zone->y + bd->zone->h)) + bd->saved.y = bd->zone->y + bd->zone->h - bd->saved.h; + + if (bd->fullscreen) + { + e_border_unfullscreen(bd); + e_border_fullscreen(bd, e_config->fullscreen_policy); + } + else if (bd->maximized != E_MAXIMIZE_NONE) + { + E_Maximize max; + + max = bd->maximized; + e_border_unmaximize(bd); + e_border_maximize(bd, max); + } + else + { + if (bd->w > bd->zone->w) + e_border_resize(bd, bd->zone->w, bd->h); + if ((bd->x + bd->w) > (bd->zone->x + bd->zone->w)) + e_border_move(bd, bd->zone->x + bd->zone->w - bd->w, bd->y); + + if (bd->h > bd->zone->h) + e_border_resize(bd, bd->w, bd->zone->h); + if ((bd->y + bd->h) > (bd->zone->y + bd->zone->h)) + e_border_move(bd, bd->x, bd->zone->y + bd->zone->h - bd->h); + } } } #endif =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_display.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -3 -r1.8 -r1.9 --- e_int_config_display.c 10 May 2006 14:29:41 -0000 1.8 +++ e_int_config_display.c 10 May 2006 14:54:59 -0000 1.9 @@ -53,14 +53,17 @@ { E_Dialog *dia; SureBox *sb; + E_Config_Dialog *cfd; dia = win->data; sb = dia->data; sb->cfdata->surebox = NULL; + cfd = sb->cfdata->cfd; if (sb->timer) ecore_timer_del(sb->timer); sb->timer = NULL; free(sb); e_object_del(E_OBJECT(dia)); + e_object_unref(E_OBJECT(cfd)); } static void @@ -165,6 +168,7 @@ e_win_centered_set(sb->dia->win, 1); e_win_sticky_set(sb->dia->win, 1); e_dialog_show(sb->dia); + e_object_ref(E_OBJECT(cfd)); } @@ -211,7 +215,7 @@ _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { if (cfdata->surebox) - e_object_del(E_OBJECT(cfdata->surebox->dia)); + _surebox_dialog_cb_delete(cfdata->surebox->dia->win); free(cfdata); } ------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs