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

Reply via email to