Enlightenment CVS committal

Author  : rephorm
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_bg.c e_int_config_wallpaper.c 


Log Message:
fix wallpaper setting by screen
correct wallpaper is now found if "this screen" AND "this desktop" have been 
set (in that order)

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_bg.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- e_bg.c      9 Oct 2006 19:06:43 -0000       1.20
+++ e_bg.c      16 Oct 2006 04:52:31 -0000      1.21
@@ -14,22 +14,35 @@
 {
    Evas_List *l, *ll, *entries;
    int ok;
+   int current_spec;
    const char *bgfile = "";
 
 
    if (!zone) zone = 
e_zone_current_get(e_container_current_get(e_manager_current_get()));
 
    ok = 0;
+   current_spec = 0; /* how specific the setting is - we want the least 
general one that applies */
+
    /* look for desk specific background. if desk is NULL this is skipped */
    for (l = e_config->desktop_backgrounds; desk && l; l = l->next)
      {
        E_Config_Desktop_Background *cfbg;
+       int spec;
        
        cfbg = l->data;
        if ((cfbg->container >= 0) && (zone->container->num != 
cfbg->container)) continue;
        if ((cfbg->zone >= 0) && (zone->num != cfbg->zone)) continue;
        if ((cfbg->desk_x >= 0) && (cfbg->desk_x != desk->x)) continue;
        if ((cfbg->desk_y >= 0) && (cfbg->desk_y != desk->y)) continue;
+
+       spec = 0;
+       if (cfbg->container >= 0) spec++;
+       if (cfbg->zone >= 0) spec++;
+       if (cfbg->desk_x >= 0) spec++;
+       if (cfbg->desk_y >= 0) spec++;
+
+       if (spec <= current_spec) continue;
+
        entries = edje_file_collection_list(cfbg->file);
        if (entries)
          {
@@ -38,13 +51,12 @@
                  if (!strcmp(ll->data, "e/desktop/background"))
                    {
                       bgfile = cfbg->file;
+                      current_spec = spec;
                       ok = 1;
-                      break;
                    }
               }
             edje_file_collection_list_free(entries);
          }
-       break;
      }
    /* fall back to default bg for zone */
    if (!ok)
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_wallpaper.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- e_int_config_wallpaper.c    8 Oct 2006 08:04:17 -0000       1.18
+++ e_int_config_wallpaper.c    16 Oct 2006 04:52:31 -0000      1.19
@@ -716,16 +716,9 @@
                  
                  cfbg = l->data;
                  if (
-                     (((cfbg->container == z->container->num) ||
-                       (cfbg->container < 0)) && 
-                      ((cfbg->zone == 0) ||
-                       (cfbg->zone < 0)))
-                     ||
-                     (((cfbg->zone == z->num) ||
-                       (cfbg->zone < 0)) && 
-                      ((cfbg->container == 0) ||
-                       (cfbg->container < 0)))
-                     )
+                     (cfbg->container == z->container->num) &&
+                     (cfbg->zone == z->num) 
+                    )
                    fl = evas_list_append(fl, cfbg);
               }
             while (fl)



-------------------------------------------------------------------------
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

Reply via email to