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