From 251bf8ceca2af09d7b6aa7dbdc6178bf8f01afff Mon Sep 17 00:00:00 2001 From: JJ Linden Date: Wed, 19 Feb 2014 14:40:27 -0800 Subject: duplicated the workaround added for darwin codesigning onto the windos codesigning --- indra/newview/viewer_manifest.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 96b4c7268c..85d18b7789 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -622,7 +622,22 @@ class Windows_i686_Manifest(ViewerManifest): NSIS_path = os.path.expandvars('${ProgramFiles}\\NSIS\\Unicode\\makensis.exe') if not os.path.exists(NSIS_path): NSIS_path = os.path.expandvars('${ProgramFiles(x86)}\\NSIS\\Unicode\\makensis.exe') - self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile)) + signed=False + sign_attempts=3 + sign_retry_wait=15 + while (not signed) and (sign_attempts > 0): + try: + sign_attempts-=1; + self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile)) + signed=True # if no exception was raised, the codesign worked + except ManifestError, err: + if sign_attempts: + print >> sys.stderr, "codesign failed, waiting %d seconds before retrying" % sign_retry_wait + time.sleep(sign_retry_wait) + sign_retry_wait*=2 + else: + print >> sys.stderr, "Maximum codesign attempts exceeded; giving up" + raise # self.remove(self.dst_path_of(tempfile)) # If we're on a build machine, sign the code using our Authenticode certificate. JC sign_py = os.path.expandvars("${SIGN}") -- cgit v1.2.3 From 0abdab7848b6fb02c2600e74774426acc6bf5ef6 Mon Sep 17 00:00:00 2001 From: JJ Linden Date: Fri, 21 Feb 2014 11:59:17 -0800 Subject: changed variable names and errors to more accurately reflect the operation being performed --- indra/newview/viewer_manifest.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 85d18b7789..fe0774b409 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -622,21 +622,21 @@ class Windows_i686_Manifest(ViewerManifest): NSIS_path = os.path.expandvars('${ProgramFiles}\\NSIS\\Unicode\\makensis.exe') if not os.path.exists(NSIS_path): NSIS_path = os.path.expandvars('${ProgramFiles(x86)}\\NSIS\\Unicode\\makensis.exe') - signed=False - sign_attempts=3 - sign_retry_wait=15 - while (not signed) and (sign_attempts > 0): + installer_created=False + nsis_attempts=3 + nsis_retry_wait=15 + while (not installer_created) and (nsis_attempts > 0): try: - sign_attempts-=1; + nsis_attempts-=1; self.run_command('"' + proper_windows_path(NSIS_path) + '" ' + self.dst_path_of(tempfile)) - signed=True # if no exception was raised, the codesign worked + installer_created=True # if no exception was raised, the codesign worked except ManifestError, err: - if sign_attempts: - print >> sys.stderr, "codesign failed, waiting %d seconds before retrying" % sign_retry_wait - time.sleep(sign_retry_wait) - sign_retry_wait*=2 + if nsis_attempts: + print >> sys.stderr, "nsis failed, waiting %d seconds before retrying" % nsis_retry_wait + time.sleep(nsis_retry_wait) + nsis_retry_wait*=2 else: - print >> sys.stderr, "Maximum codesign attempts exceeded; giving up" + print >> sys.stderr, "Maximum nsis attempts exceeded; giving up" raise # self.remove(self.dst_path_of(tempfile)) # If we're on a build machine, sign the code using our Authenticode certificate. JC -- cgit v1.2.3 From 16aec9dca7836505b58f5d4306ccf64b096c9fcd Mon Sep 17 00:00:00 2001 From: akl Date: Mon, 24 Feb 2014 19:30:30 +0200 Subject: MAINT-2588 FIXED User cannot delete items from content of other object, using 'Delete' button on keyboard. --- indra/newview/llpanelobjectinventory.cpp | 43 ++++++++++++++++++++++++++++++++ indra/newview/llpanelobjectinventory.h | 3 +++ 2 files changed, 46 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index bb063f48a5..6c9616511f 100755 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -2011,3 +2011,46 @@ void LLPanelObjectInventory::clearItemIDs() mItemMap.clear(); } +BOOL LLPanelObjectInventory::handleKeyHere( KEY key, MASK mask ) +{ + BOOL handled = FALSE; + switch (key) + { + case KEY_DELETE: + case KEY_BACKSPACE: + // Delete selected items if delete or backspace key hit on the inventory panel + // Note: on Mac laptop keyboards, backspace and delete are one and the same + if (isSelectionRemovable() && mask == MASK_NONE) + { + LLInventoryAction::doToSelected(&gInventory, mFolders, "delete"); + handled = TRUE; + } + break; + } + return handled; +} + +BOOL LLPanelObjectInventory::isSelectionRemovable() +{ + if (!mFolders || !mFolders->getRoot()) + { + return FALSE; + } + std::set selection_set = mFolders->getRoot()->getSelectionList(); + if (selection_set.empty()) + { + return FALSE; + } + for (std::set::iterator iter = selection_set.begin(); + iter != selection_set.end(); + ++iter) + { + LLFolderViewItem *item = *iter; + const LLFolderViewModelItemInventory *listener = dynamic_cast(item->getViewModelItem()); + if (!listener || !listener->isItemRemovable() || listener->isItemInTrash()) + { + return FALSE; + } + } + return TRUE; +} diff --git a/indra/newview/llpanelobjectinventory.h b/indra/newview/llpanelobjectinventory.h index f497c695b3..9559f7e886 100755 --- a/indra/newview/llpanelobjectinventory.h +++ b/indra/newview/llpanelobjectinventory.h @@ -94,6 +94,9 @@ protected: void removeItemID(const LLUUID& id); void clearItemIDs(); + BOOL handleKeyHere( KEY key, MASK mask ); + BOOL isSelectionRemovable(); + private: std::map mItemMap; -- cgit v1.2.3