Martin Fuchs <martin-fuchs@gmx.net>
Directly return the correct "My Computer" attributes in
ISF_Desktop_fnGetAttributesOf().
Fixes bug 1097
Modified: branches/ros-branch-0_2_9/reactos/lib/shell32/shfldr_desktop.c

Modified: branches/ros-branch-0_2_9/reactos/lib/shell32/shfldr_desktop.c
--- branches/ros-branch-0_2_9/reactos/lib/shell32/shfldr_desktop.c	2005-12-14 21:39:24 UTC (rev 20177)
+++ branches/ros-branch-0_2_9/reactos/lib/shell32/shfldr_desktop.c	2005-12-14 22:41:16 UTC (rev 20178)
@@ -428,6 +428,9 @@
     static const DWORD dwDesktopAttributes = 
         SFGAO_STORAGE | SFGAO_HASPROPSHEET | SFGAO_STORAGEANCESTOR |
         SFGAO_FILESYSANCESTOR | SFGAO_FOLDER | SFGAO_FILESYSTEM | SFGAO_HASSUBFOLDER;
+    static const DWORD dwMyComputerAttributes =
+        SFGAO_CANRENAME | SFGAO_CANDELETE | SFGAO_HASPROPSHEET |
+        SFGAO_DROPTARGET | SFGAO_FILESYSANCESTOR | SFGAO_FOLDER | SFGAO_HASSUBFOLDER;
 
     TRACE ("(%p)->(cidl=%d apidl=%p mask=%p (0x%08lx))\n",
            This, cidl, apidl, rgfInOut, rgfInOut ? *rgfInOut : 0);
@@ -447,6 +450,8 @@
             pdump (*apidl);
             if (_ILIsDesktop(*apidl)) { 
                 *rgfInOut &= dwDesktopAttributes;
+            } else if (_ILIsMyComputer(*apidl)) {
+                *rgfInOut &= dwMyComputerAttributes;
             } else {
                 SHELL32_GetItemAttributes (_IShellFolder_ (This), *apidl, rgfInOut);
             }