Revision: 61347
          http://sourceforge.net/p/brlcad/code/61347
Author:   bob1961
Date:     2014-06-18 18:55:59 +0000 (Wed, 18 Jun 2014)
Log Message:
-----------
Added code to get around Tcl's "file writable somefile" failure (i.e., command 
always returns 0 when on windows and the file in question is on a remote drive.

Modified Paths:
--------------
    brlcad/trunk/src/tclscripts/archer/Archer.tcl
    brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl

Modified: brlcad/trunk/src/tclscripts/archer/Archer.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/Archer.tcl       2014-06-17 21:36:31 UTC 
(rev 61346)
+++ brlcad/trunk/src/tclscripts/archer/Archer.tcl       2014-06-18 18:55:59 UTC 
(rev 61347)
@@ -1716,7 +1716,8 @@
 
 
 ::itcl::body Archer::Load {_target} {
-    SetWaitCursor $this
+    global tcl_platform
+
     if {$mNeedSave} {
        askToSave
     }
@@ -1739,7 +1740,8 @@
        set mDbShared 1
        set mDbReadOnly 1
     } elseif {[file exists $mTarget]} {
-       if {[file writable $mTarget]} {
+       if {[file writable $mTarget] ||
+           ($tcl_platform(platform) == "windows" && ![file attributes $mTarget 
-readonly])} {
            set mDbReadOnly 0
        } else {
            set mDbReadOnly 1
@@ -1783,66 +1785,70 @@
        }
     }
 
+    SetWaitCursor $this
     $itk_component(ged) refresh_off
 
-    set mDbTitle [$itk_component(ged) title]
-    set mDbUnits [$itk_component(ged) units -s]
-    set mPrevObjViewMode $OBJ_ATTR_VIEW_MODE
-    set mPrevSelectedObjPath ""
-    set mPrevSelectedObj ""
-    set mSelectedObjPath ""
-    set mSelectedObj ""
-    set mSelectedObjType ""
-    set mColorObjects ""
-    set mGhostObjects ""
-    set mEdgeObjects ""
+    catch {
+       set mDbTitle [$itk_component(ged) title]
+       set mDbUnits [$itk_component(ged) units -s]
+       set mPrevObjViewMode $OBJ_ATTR_VIEW_MODE
+       set mPrevSelectedObjPath ""
+       set mPrevSelectedObj ""
+       set mSelectedObjPath ""
+       set mSelectedObj ""
+       set mSelectedObjType ""
+       set mColorObjects ""
+       set mGhostObjects ""
+       set mEdgeObjects ""
 
-    if {!$mViewOnly} {
-       initDbAttrView $mTarget
+       if {!$mViewOnly} {
+           initDbAttrView $mTarget
 
-       set mTreeMode $TREE_MODE_TREE
-       set mPrevTreeMode $TREE_MODE_TREE
-       set mPrevTreeMode2 $TREE_MODE_COLOR_OBJECTS
-       toggleTreeView
+           set mTreeMode $TREE_MODE_TREE
+           set mPrevTreeMode $TREE_MODE_TREE
+           set mPrevTreeMode2 $TREE_MODE_COLOR_OBJECTS
+           toggleTreeView
 
-       applyPreferences
-       doLighting
-       updateWizardMenu
-       updateUtilityMenu
-       deleteTargetOldCopy
+           applyPreferences
+           doLighting
+           updateWizardMenu
+           updateUtilityMenu
+           deleteTargetOldCopy
 
-       updateCreationButtons 1
-       #       updateRaytraceButtons 1
+           updateCreationButtons 1
+           #   updateRaytraceButtons 1
 
-       buildGroundPlane
-       showGroundPlane
-    } else {
-       applyPreferences
-       doLighting
-    }
+           buildGroundPlane
+           showGroundPlane
+       } else {
+           applyPreferences
+           doLighting
+       }
 
-    # update the units combobox in the General tab of the preferences panel
-    set utypes {}
-    foreach utype [split [$itk_component(ged) units -t] , ] {
-       lappend utypes [string trim $utype]
-    }
-    $itk_component(unitsCB) configure \
-       -values $utypes \
-       -state readonly
+       # update the units combobox in the General tab of the preferences panel
+       set utypes {}
+       foreach utype [split [$itk_component(ged) units -t] , ] {
+           lappend utypes [string trim $utype]
+       }
+       $itk_component(unitsCB) configure \
+           -values $utypes \
+           -state readonly
 
-    # refresh tree contents
-    rebuildTree
+       # refresh tree contents
+       rebuildTree
 
-    if {$mBindingMode == "Default"} {
-       set mDefaultBindingMode $VIEW_ROTATE_MODE
-       beginViewRotate
+       if {$mBindingMode == "Default"} {
+           set mDefaultBindingMode $VIEW_ROTATE_MODE
+           beginViewRotate
+       }
+
+       set mSavedCenter ""
+       set mSavedViewEyePt ""
+       set mSavedSize ""
+
+       $itk_component(ged) edit_motion_delta_callback_all [::itcl::code $this 
editMotionDeltaCallback]
     }
 
-    set mSavedCenter ""
-    set mSavedViewEyePt ""
-    set mSavedSize ""
-
-    $itk_component(ged) edit_motion_delta_callback_all [::itcl::code $this 
editMotionDeltaCallback]
     $itk_component(ged) refresh_on
     $itk_component(ged) refresh_all
     SetNormalCursor $this

Modified: brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl
===================================================================
--- brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl   2014-06-17 21:36:31 UTC 
(rev 61346)
+++ brlcad/trunk/src/tclscripts/archer/ArcherCore.tcl   2014-06-18 18:55:59 UTC 
(rev 61347)
@@ -5253,6 +5253,8 @@
 #                         GENERAL
 # ------------------------------------------------------------
 ::itcl::body ArcherCore::Load {target} {
+    global tcl_platform
+
     SetWaitCursor $this
     if {$mNeedSave} {
        askToSave
@@ -5270,7 +5272,8 @@
        set mDbShared 1
        set mDbReadOnly 1
     } elseif {[file exists $mTarget]} {
-       if {[file writable $mTarget]} {
+       if {[file writable $mTarget] ||
+           ($tcl_platform(platform) == "windows" && ![file attributes $mTarget 
-readonly])} {
            set mDbReadOnly 0
        } else {
            set mDbReadOnly 1

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
Find What Matters Most in Your Big Data with HPCC Systems
Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
Leverages Graph Analysis for Fast Processing & Easy Data Exploration
http://p.sf.net/sfu/hpccsystems
_______________________________________________
BRL-CAD Source Commits mailing list
brlcad-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/brlcad-commits

Reply via email to