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
master
Northspring 2014-02-07 14:36:26 +01:00
parent fc1252152d
commit e75a7983cc
1 changed files with 7 additions and 12 deletions

View File

@ -881,7 +881,12 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id)
LLRect pos = floater->getRect();
if (floaterType == LLScriptFloaterManager::OBJ_SCRIPT)
// <FS:PP> 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)
// </FS:PP>
{
eDialogPosition dialogPos = (eDialogPosition)gSavedSettings.getS32("ScriptDialogsPosition");
@ -976,18 +981,8 @@ LLScriptFloater* LLScriptFloater::show(const LLUUID& notification_id)
{
floater->setSavePosition(true);
// <FS:PP> 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);
}
// </FS:PP>
S32 width = pos.getWidth();
S32 height = pos.getHeight();