From e75a7983cc4e2e71e78798f6b690282dd4c656d2 Mon Sep 17 00:00:00 2001 From: Northspring Date: Fri, 7 Feb 2014 14:36:26 +0100 Subject: [PATCH] A little better patch for FIRE-12037: Inventory Offer Dialog boxes hidden Now inventory offers should be detected in all cases, not only with user-owned objects, their windows should pop-up on screen according to position specified in preferences --- indra/newview/llscriptfloater.cpp | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp index 0326aab4ef..4ce96c0b9d 100755 --- a/indra/newview/llscriptfloater.cpp +++ b/indra/newview/llscriptfloater.cpp @@ -881,7 +881,12 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id) LLRect pos = floater->getRect(); - if (floaterType == LLScriptFloaterManager::OBJ_SCRIPT) + // FIRE-12037: Inventory Offer Dialog boxes hidden + // They should be ALWAYS visible on screen, all of them, not only the most recent one - so use the ScriptDialogsPosition detection as well + // Otherwise (after accepting/declining that most recent one) user may not notice, that still has something to click (with chiclets hidden, or just too many of them visible on screen), relog and lost pending inventory offer items + // if (floaterType == LLScriptFloaterManager::OBJ_SCRIPT) + if (floaterType == LLScriptFloaterManager::OBJ_SCRIPT || floaterType == LLScriptFloaterManager::OBJ_UNKNOWN || floaterType == LLScriptFloaterManager::OBJ_GIVE_INVENTORY) + // { eDialogPosition dialogPos = (eDialogPosition)gSavedSettings.getS32("ScriptDialogsPosition"); @@ -976,18 +981,8 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id) { floater->setSavePosition(true); - // FIRE-12037: Inventory Offer Dialog boxes hidden - // They should be ALWAYS visible on screen, all of them, not only the most recent one - // Otherwise (after accepting/declining that most recent one) user may not notice, that still has something to click (with chiclets hidden, or just too many of them visible on screen), relog and lost pending inventory offer items - // if (chicletsDisabled) - // { - if (chicletsDisabled || floaterType == LLScriptFloaterManager::OBJ_UNKNOWN) + if (chicletsDisabled) { - if (floaterType == LLScriptFloaterManager::OBJ_UNKNOWN) - { - floater->setDocked(false, true); - } - // S32 width = pos.getWidth(); S32 height = pos.getHeight();