Never freeze again.

Put snapshot related floaters always on top of the full screen preview.
Make having multiple running uploads more robust.
Fix infinite recursion when clicking on the bottom 'Snapshot' button
under certain conditions.
Unfreeze time more robust; unfreeze time out of precaution when
starting an upload (if 'Keep open' not checked).
Fixed a bug that caused all callbacks for successful feed uploads to be
ignored.
This commit is contained in:
Aleric Inglewood
2013-01-06 23:40:53 +01:00
parent 2fbd53807c
commit a9a308e5e9
9 changed files with 340 additions and 312 deletions

View File

@@ -57,6 +57,7 @@
#include "lltabcontainer.h"
#include "v2math.h"
#include "llfasttimer.h"
#include "airecursive.h"
const S32 MINIMIZED_WIDTH = 160;
const S32 CLOSE_BOX_FROM_TOP = 1;
@@ -1988,9 +1989,16 @@ LLRect LLFloaterView::findNeighboringPosition( LLFloater* reference_floater, LLF
return new_rect;
}
void LLFloaterView::bringToFront(LLFloater* child, BOOL give_focus)
{
// Stop recursive call sequence
// LLFloaterView::bringToFront calls
// LLFloater::setFocus calls
// LLFloater::setFrontmost calls this again.
static bool recursive;
if (recursive) { return; }
AIRecursive enter(recursive);
// *TODO: make this respect floater's mAutoFocus value, instead of
// using parameter
if (child->getHost())