Closed Bug 544028 Opened 14 years ago Closed 14 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: 14 years ago
Resolution: --- → WORKSFORME
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.