Closed Bug 544028 Opened 15 years ago Closed 15 years ago

[OOPP][foxit] Infinite loop around CallUpdateWindow/repainting

Categories

(Core Graveyard :: Plug-ins, defect)

x86
Windows 7
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: benjamin, Unassigned)

References

Details

With foxit reader: open a PDF. Open a new tab and then quit. When minefield pops up the "do you want to save your tabs" dialog, Minefield goes into an infinite loop. As far as I can tell it's fairly tight: Parent: xul.dll!mozilla::plugins::PPluginInstanceParent::CallUpdateWindow() Line 655 + 0x16 bytes C++ xul.dll!nsWindow::OnPaint(HDC__ * aDC=0x00000000) Line 338 + 0xb bytes C++ xul.dll!nsWindow::ProcessMessage(unsigned int msg=15, unsigned int & wParam=0, long & lParam=0, long * aRetValue=0x00478b04) Line 3939 + 0x18 bytes C++ xul.dll!nsWindow::WindowProc(HWND__ * hWnd=0x000e0408, unsigned int msg=15, unsigned int wParam=0, long lParam=0) Line 3639 + 0x20 bytes C++ user32.dll!_InternalCallWinProc@20() + 0x23 bytes user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes user32.dll!_CallWindowProcAorW@24() + 0x5e bytes user32.dll!_CallWindowProcW@20() + 0x1b bytes xul.dll!mozilla::plugins::PluginInstanceParent::PluginWindowHookProc(HWND__ * hWnd=0x000e0408, unsigned int message=15, unsigned int wParam=0, long lParam=0) Line 910 C++ user32.dll!_InternalCallWinProc@20() + 0x23 bytes user32.dll!_UserCallWinProcCheckWow@32() + 0xb7 bytes user32.dll!_CallWindowProcAorW@24() + 0x5e bytes user32.dll!_CallWindowProcW@20() + 0x1b bytes xul.dll!PluginWndProc(HWND__ * hWnd=0x000e0408, unsigned int msg=15, unsigned int wParam=0, long lParam=0) Line 369 + 0x68 bytes C++ user32.dll!_InternalCallWinProc@20() + 0x23 bytes user32.dll!_UserCallWinProcCheckWow@32() + 0xa65 bytes user32.dll!_DispatchClientMessage@24() + 0x51 bytes user32.dll!___fnDWORD@4() + 0x2b bytes ntdll.dll!_KiUserCallbackDispatcher@12() + 0x2e bytes user32.dll!_NtUserDispatchMessage@4() + 0x15 bytes user32.dll!_DispatchMessageWorker@8() + 0x92a1 bytes user32.dll!_DispatchMessageW@4() + 0xf bytes xul.dll!nsAppShell::ProcessNextNativeEvent(int mayWait=0) Line 278 C++ xul.dll!nsBaseAppShell::DoProcessNextNativeEvent(int mayWait=0) Line 155 + 0x11 bytes C++ xul.dll!nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal * thr=0x006bbdb8, int mayWait=1, unsigned int recursionDepth=0) Line 293 + 0xd bytes C++ xul.dll!nsThread::ProcessNextEvent(int mayWait=1, int * result=0x004790f8) Line 510 C++ xul.dll!NS_ProcessNextEvent_P(nsIThread * thread=0x006bbdb8, int mayWait=1) Line 250 + 0x16 bytes C++ xul.dll!nsXULWindow::ShowModal() Line 405 + 0xb bytes C++ The child responds in AnswerUpdateWindow and apparently does something which causes windows to re-dispatch the WM_PAINT method and loop.
wfm, looks like this was addressed by all the callupdate work a while back.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.