Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_border.c e_fm_prop.c e_widget_entry.h Log Message: fix segv in border - file prop work =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v retrieving revision 1.567 retrieving revision 1.568 diff -u -3 -r1.567 -r1.568 --- e_border.c 8 Jan 2007 04:56:19 -0000 1.567 +++ e_border.c 10 Jan 2007 16:32:29 -0000 1.568 @@ -5470,7 +5470,8 @@ if (rem->prop.border) { if (bd->bordername) evas_stringshare_del(bd->bordername); - bd->bordername = evas_stringshare_add(rem->prop.border); + if (rem->prop.border) bd->bordername = evas_stringshare_add(rem->prop.border); + else bd->bordername = NULL; bd->client.border.changed = 1; } } @@ -5557,6 +5558,7 @@ bordername = "skipped"; else bordername = e_config->theme_default_border_style; + if (!bordername) bordername = "default"; if ((!bd->client.border.name) || (strcmp(bd->client.border.name, bordername))) { =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_fm_prop.c,v retrieving revision 1.6 retrieving revision 1.7 diff -u -3 -r1.6 -r1.7 --- e_fm_prop.c 7 Jan 2007 21:33:52 -0000 1.6 +++ e_fm_prop.c 10 Jan 2007 16:32:29 -0000 1.7 @@ -87,8 +87,8 @@ v->free_cfdata = _free_data; v->basic.apply_cfdata = _basic_apply_data; v->basic.create_widgets = _basic_create_widgets; - v->advanced.apply_cfdata = _advanced_apply_data; - v->advanced.create_widgets = _advanced_create_widgets; +// v->advanced.apply_cfdata = _advanced_apply_data; +// v->advanced.create_widgets = _advanced_create_widgets; /* create config diaolg for NULL object/data */ cfd = e_config_dialog_new(con, _("File Properties"), @@ -146,14 +146,38 @@ static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { + char buf[4096]; + int fperm = 0; + + if (((fi->statinfo.st_mode & S_IRUSR) && (cfdata->owner_read)) || + ((!fi->statinfo.st_mode & S_IRUSR) && (!cfdata->owner_read))) + fperm = 1; + if (((fi->statinfo.st_mode & S_IWUSR) && (cfdata->owner_write)) || + ((!fi->statinfo.st_mode & S_IWUSR) && (!cfdata->owner_write))) + fperm = 1; + if (((fi->statinfo.st_mode & S_IROTH) && (cfdata->others_read)) || + ((!fi->statinfo.st_mode & S_IROTH) && (!cfdata->others_read))) + fperm = 1; + if (((fi->statinfo.st_mode & S_IWOTH) && (cfdata->others_write)) || + ((!fi->statinfo.st_mode & S_IWOTH) && (!cfdata->others_write))) + fperm = 1; + snprintf(buf, sizeof(buf), "%s/%s", + e_fm2_real_path_get(cfdata->fi->fm), cfdata->fi->file); + if (fperm) + { + /* FIXME: modify st_mode */ + chmod(buf, fi->statinfo.st_mode); + } return 1; /* Apply was OK */ } +#if 0 static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { return 1; /* Apply was OK */ } +#endif /**--GUI--**/ static Evas_Object * @@ -288,6 +312,7 @@ return o; } +#if 0 static Evas_Object * _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) { @@ -297,7 +322,7 @@ o = e_widget_table_add(evas, 0); return o; } - +#endif =================================================================== RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_entry.h,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- e_widget_entry.h 21 Oct 2006 02:32:13 -0000 1.7 +++ e_widget_entry.h 10 Jan 2007 16:32:29 -0000 1.8 @@ -11,7 +11,7 @@ EAPI const char *e_widget_entry_text_get (Evas_Object *entry); EAPI void e_widget_entry_clear (Evas_Object *entry); EAPI void e_widget_entry_password_set (Evas_Object *entry, int password_mode); -EAPI void e_widget_entry_readonly_set (Evas_Object *entry, int readonly_mode); +EAPI void e_widget_entry_readonly_set (Evas_Object *entry, int readonly_mode); EAPI Evas_Object *e_widget_entry_editable_object_get (Evas_Object *entry); #endif ------------------------------------------------------------------------- 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-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs