mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Fixing bug 550905. Don't use uninitialized values. r=jonas@sicking.cc
This commit is contained in:
parent
a5dece1d69
commit
4cb67eed6d
@ -3671,33 +3671,34 @@ nsGlobalWindow::CheckSecurityLeftAndTop(PRInt32* aLeft, PRInt32* aTop)
|
||||
nsContentUtils::HidePopupsInDocument(doc);
|
||||
#endif
|
||||
|
||||
PRInt32 screenLeft, screenTop, screenWidth, screenHeight;
|
||||
PRInt32 winLeft, winTop, winWidth, winHeight;
|
||||
|
||||
nsGlobalWindow* rootWindow =
|
||||
static_cast<nsGlobalWindow*>(GetPrivateRoot());
|
||||
if (rootWindow) {
|
||||
rootWindow->FlushPendingNotifications(Flush_Layout);
|
||||
}
|
||||
|
||||
// Get the window size
|
||||
nsCOMPtr<nsIBaseWindow> treeOwner;
|
||||
GetTreeOwner(getter_AddRefs(treeOwner));
|
||||
if (treeOwner)
|
||||
treeOwner->GetPositionAndSize(&winLeft, &winTop, &winWidth, &winHeight);
|
||||
|
||||
// convert those values to CSS pixels
|
||||
// XXX four separate retrievals of the prescontext
|
||||
winLeft = DevToCSSIntPixels(winLeft);
|
||||
winTop = DevToCSSIntPixels(winTop);
|
||||
winWidth = DevToCSSIntPixels(winWidth);
|
||||
winHeight = DevToCSSIntPixels(winHeight);
|
||||
|
||||
// Get the screen dimensions
|
||||
// XXX This should use nsIScreenManager once it's fully fleshed out.
|
||||
nsCOMPtr<nsIDOMScreen> screen;
|
||||
GetScreen(getter_AddRefs(screen));
|
||||
if (screen) {
|
||||
|
||||
if (treeOwner && screen) {
|
||||
PRInt32 screenLeft, screenTop, screenWidth, screenHeight;
|
||||
PRInt32 winLeft, winTop, winWidth, winHeight;
|
||||
|
||||
// Get the window size
|
||||
treeOwner->GetPositionAndSize(&winLeft, &winTop, &winWidth, &winHeight);
|
||||
|
||||
// convert those values to CSS pixels
|
||||
// XXX four separate retrievals of the prescontext
|
||||
winLeft = DevToCSSIntPixels(winLeft);
|
||||
winTop = DevToCSSIntPixels(winTop);
|
||||
winWidth = DevToCSSIntPixels(winWidth);
|
||||
winHeight = DevToCSSIntPixels(winHeight);
|
||||
|
||||
// Get the screen dimensions
|
||||
// XXX This should use nsIScreenManager once it's fully fleshed out.
|
||||
screen->GetAvailLeft(&screenLeft);
|
||||
screen->GetAvailWidth(&screenWidth);
|
||||
screen->GetAvailHeight(&screenHeight);
|
||||
@ -3713,9 +3714,7 @@ nsGlobalWindow::CheckSecurityLeftAndTop(PRInt32* aLeft, PRInt32* aTop)
|
||||
#else
|
||||
screen->GetAvailTop(&screenTop);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (screen && treeOwner) {
|
||||
if (aLeft) {
|
||||
if (screenLeft+screenWidth < *aLeft+winWidth)
|
||||
*aLeft = screenLeft+screenWidth - winWidth;
|
||||
|
Loading…
Reference in New Issue
Block a user