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();