Fix for 97805, r=sfraser, sr=waterson, also fixing event prioritization problems on Win32, r=jag, sr=brendan

This commit is contained in:
hyatt%netscape.com 2001-10-17 02:14:43 +00:00
Родитель 31a4b75f6d
Коммит 8a585b0ce7
2 изменённых файлов: 4 добавлений и 3 удалений

Просмотреть файл

@ -109,7 +109,6 @@ NS_METHOD nsAppShell::Run(void)
// timer, and paint messages).
if (::PeekMessage(&msg, NULL, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) ||
::PeekMessage(&msg, NULL, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE) ||
::PeekMessage(&msg, NULL, 0, WM_USER-1, PM_REMOVE) ||
::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
keepGoing = (msg.message != WM_QUIT);
@ -175,7 +174,6 @@ nsAppShell::GetNativeEvent(PRBool &aRealEvent, void *&aEvent)
// timer, and paint messages).
if (::PeekMessage(&msg, NULL, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) ||
::PeekMessage(&msg, NULL, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE) ||
::PeekMessage(&msg, NULL, 0, WM_USER-1, PM_REMOVE) ||
::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
gotMessage = true;

Просмотреть файл

@ -1531,7 +1531,10 @@ NS_METHOD nsWindow::Move(PRInt32 aX, PRInt32 aY)
nsRect currentRect;
GetBounds(currentRect);
{
if ((currentRect.x == aX) && (currentRect.y == aY))
// Only perform this check for non-popup windows, since the positioning can
// in fact change even when the x/y do not. We always need to perform the
// check. See bug #97805 for details.
if (mWindowType != eWindowType_popup && (currentRect.x == aX) && (currentRect.y == aY))
{
// Nothing to do, since it is already positioned correctly.
return NS_OK;