← Back to team overview

elementaryart team mailing list archive

[Merge] lp:~roignac/marlin/fix-797044-root-user-dirs into lp:marlin

 

Vadim Rutkovsky has proposed merging lp:~roignac/marlin/fix-797044-root-user-dirs into lp:marlin.

Requested reviews:
  xapantu (xapantu)
Related bugs:
  Bug #797044 in Marlin: "cant gksudo marlin"
  https://bugs.launchpad.net/marlin/+bug/797044

For more details, see:
https://code.launchpad.net/~roignac/marlin/fix-797044-root-user-dirs/+merge/65846

This branch fixes the error when Marlin is run using root privileges - special user folders are now parsed correctly (if they exist)
-- 
https://code.launchpad.net/~roignac/marlin/fix-797044-root-user-dirs/+merge/65846
Your team The elementary Project is subscribed to branch lp:marlin.
=== modified file 'libwidgets/LocationBar.vala'
--- libwidgets/LocationBar.vala	2011-06-13 08:48:59 +0000
+++ libwidgets/LocationBar.vala	2011-06-24 23:29:26 +0000
@@ -187,40 +187,64 @@
             icons[1] = {"network://", "network", "computer", true, null, null, true};
             make_icon(ref icons[1]);
             /* music */
-            icons[2] = {Environment.get_user_special_dir(UserDirectory.MUSIC), "folder-music", "folder", false, null, null, false};
-            icons[2].exploded = Environment.get_user_special_dir(UserDirectory.MUSIC).split("/");
-            icons[2].exploded[0] = "/";
-            make_icon(ref icons[2]);
+            string dir;
+            dir = Environment.get_user_special_dir(UserDirectory.MUSIC);
+            if(dir.contains("/"))
+            {
+                icons[2] = {dir, "folder-music", "folder", false, null, null, false};
+                icons[2].exploded = dir.split("/");
+                icons[2].exploded[0] = "/";
+                make_icon(ref icons[2]);
+            }
     
             /* image */
-            icons[3] = {Environment.get_user_special_dir(UserDirectory.PICTURES), "folder-images", "folder-pictures", false, null, null, false};
-            icons[3].exploded = Environment.get_user_special_dir(UserDirectory.PICTURES).split("/");
-            icons[3].exploded[0] = "/";
-            make_icon(ref icons[3]);
+            dir = Environment.get_user_special_dir(UserDirectory.PICTURES);
+            if(dir.contains("/"))
+            {
+                icons[3] = {dir, "folder-images", "folder-pictures", false, null, null, false};
+                icons[3].exploded = dir.split("/");
+                icons[3].exploded[0] = "/";
+                make_icon(ref icons[3]);
+            }
 
             /* movie */
-            icons[4] = {Environment.get_user_special_dir(UserDirectory.VIDEOS), "folder-videos", "folder", false, null, null, false};
-            icons[4].exploded = Environment.get_user_special_dir(UserDirectory.VIDEOS).split("/");
-            icons[4].exploded[0] = "/";
-            make_icon(ref icons[4]);
+            dir = Environment.get_user_special_dir(UserDirectory.VIDEOS);
+            if(dir.contains("/"))
+            {
+                icons[4] = {dir, "folder-videos", "folder", false, null, null, false};
+                icons[4].exploded = dir.split("/");
+                icons[4].exploded[0] = "/";
+                make_icon(ref icons[4]);
+            }
     
             /* downloads */
-            icons[5] = {Environment.get_user_special_dir(UserDirectory.DOWNLOAD), "folder-downloads", "folder_download", false, null, null, false};
-            icons[5].exploded = Environment.get_user_special_dir(UserDirectory.DOWNLOAD).split("/");
-            icons[5].exploded[0] = "/";
-            make_icon(ref icons[5]);
+            dir = Environment.get_user_special_dir(UserDirectory.DOWNLOAD);
+            if(dir.contains("/"))
+            {
+                icons[5] = {dir, "folder-downloads", "folder_download", false, null, null, false};
+                icons[5].exploded = dir.split("/");
+                icons[5].exploded[0] = "/";
+                make_icon(ref icons[5]);
+            }
     
             /* documents */
-            icons[6] = {Environment.get_user_special_dir(UserDirectory.DOCUMENTS), "folder-documents", "folder_download", false, null, null, false};
-            icons[6].exploded = Environment.get_user_special_dir(UserDirectory.DOCUMENTS).split("/");
-            icons[6].exploded[0] = "/";
-            make_icon(ref icons[6]);
-
-            icons[dir_number - 2] = {Environment.get_home_dir(), "go-home-symbolic", "go-home", false, null, null, true};
-            icons[dir_number - 2].exploded = Environment.get_home_dir().split("/");
-            icons[dir_number - 2].exploded[0] = "/";
-            make_icon(ref icons[dir_number - 2]);
-
+            dir = Environment.get_user_special_dir(UserDirectory.DOCUMENTS);
+            if(dir.contains("/"))
+            {
+                icons[6] = {dir, "folder-documents", "folder_download", false, null, null, false};
+                icons[6].exploded = dir.split("/");
+                icons[6].exploded[0] = "/";
+                make_icon(ref icons[6]);
+            }
+
+            dir = Environment.get_home_dir();
+            if(dir.contains("/"))
+            {
+                icons[dir_number - 2] = {dir, "go-home-symbolic", "go-home", false, null, null, true};
+                icons[dir_number - 2].exploded = dir.split("/");
+                icons[dir_number - 2].exploded[0] = "/";
+                make_icon(ref icons[dir_number - 2]);
+            }
             
             icons[dir_number - 1] = {"/", "drive-harddisk", "computer", false, null, null, true};
             icons[dir_number - 1].exploded = {"/"};


Follow ups