Closed Bug 333051 Opened 19 years ago Closed 19 years ago

Menus (top-level and context) no longer work

Categories

(Core :: Layout, defect)

x86
Windows 2000
defect
Not set
blocker

Tracking

()

VERIFIED FIXED

People

(Reporter: stevee, Assigned: bryner)

References

(Blocks 1 open bug)

Details

(5 keywords)

Attachments

(1 file)

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a1) Gecko/20060406 Firefox/1.6a1 ID:2006040613 (13 is an approximate guess). 1. Start firefox, new profile 2. Observe no right click menu, no chrome menus work (File, Edit, etc), no bookmark folders work.
I should have pointed out I am not on a cairo build.
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a1) Gecko/20060406 Firefox/3.0a1 ID:2006040613 [cairo] wfm on a cairo build
dbaron's clobber on "WINNT 5.2 Pacifica Dep Release" (that ended 04/06 17:01:08) did not fix this bug.
We should at least get this into menus, although it may be a gfx thing...
Component: General → Menus
QA Contact: general → menus
*** Bug 333094 has been marked as a duplicate of this bug. ***
This is smacking SeaMonkey as well: See bug 333094. I am not using Cairo, as there's another bug with Cairo rendering on Windows that makes SeaMonkey pretty unusable. This violates smoketest B.3, as File->Open cannot be used. Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060406 SeaMonkey/1.5a Assertions from SeaMonkey trunk: For context menu in main browser, at http://www.mozilla.org/projects/seamonkey/start/ ###!!! ASSERTION: Computed overflow area must contain frame bounds: 'aNewSize.width == 0 || aNewSize.height == 0 || aOverflowArea->Contains(nsRect(nsPoint(0, 0), aNewSize))', file m:/vc8/mozilla/layout/generic/nsFrame.cpp, line 4656 ntdll.dll!7c901230() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] > xpcom_core.dll!Break(const char * aMsg=0x0012ee3c) Line 471 C++ xpcom_core.dll!NS_DebugBreak_P(unsigned int aSeverity=1, const char * aStr=0x01c220c8, const char * aExpr=0x01c22060, const char * aFile=0x01c22030, int aLine=4656) Line 354 + 0xc bytes C++ gklayout.dll!nsIFrame::FinishAndStoreOverflow(nsRect * aOverflowArea=0x0012f35c, nsSize aNewSize={...}) Line 4656 + 0x87 bytes C++ gklayout.dll!nsBox::SyncLayout(nsBoxLayoutState & aState={...}) Line 884 C++ gklayout.dll!nsBox::EndLayout(nsBoxLayoutState & aState={...}) Line 227 C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 800 C++ gklayout.dll!nsPopupSetFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 252 C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsSprocketLayout::Layout(nsIFrame * aBox=0x02b5001c, nsBoxLayoutState & aState={...}) Line 547 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsStackLayout::Layout(nsIFrame * aBox=0x02b4fddc, nsBoxLayoutState & aState={...}) Line 321 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsBoxFrame::Reflow(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0) Line 820 C++ gklayout.dll!nsRootBoxFrame::Reflow(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0) Line 218 C++ gklayout.dll!nsContainerFrame::ReflowChild(nsIFrame * aKidFrame=0x02b4fddc, nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, int aX=0, int aY=0, unsigned int aFlags=0, unsigned int & aStatus=0) Line 739 + 0x21 bytes C++ gklayout.dll!ViewportFrame::Reflow(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0) Line 248 + 0x2b bytes C++ gklayout.dll!IncrementalReflow::Dispatch(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsSize & aMaxSize={...}, nsIRenderingContext & aRendContext={...}) Line 862 C++ gklayout.dll!PresShell::ProcessReflowCommands(int aInterruptible=1) Line 6536 C++ gklayout.dll!ReflowEvent::HandleEvent() Line 6359 C++ gklayout.dll!HandlePLEvent(PLEvent * aEvent=0x032c8358) Line 6377 C++ xpcom_core.dll!PL_HandleEvent(PLEvent * self=0x032c8358) Line 688 + 0xc bytes C xpcom_core.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00a6a9c8) Line 623 + 0x9 bytes C xpcom_core.dll!_md_TimerProc(HWND__ * hwnd=0x000205cc, unsigned int uMsg=275, unsigned int idEvent=0, unsigned long dwTime=51529578) Line 1013 + 0x9 bytes C user32.dll!77d48734() user32.dll!77d49857() user32.dll!77d49791() user32.dll!77d48a10() gkwidget.dll!nsAppShell::Run() Line 135 C++ appcomps.dll!nsAppStartup::Run() Line 208 C++ seamonkey.exe!main1(int argc=1, char * * argv=0x003d2fb0, nsISupports * nativeApp=0x00a6b0f0) Line 1248 + 0x22 bytes C++ seamonkey.exe!main(int argc=1, char * * argv=0x003d2fb0) Line 1750 + 0x25 bytes C++ seamonkey.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C seamonkey.exe!mainCRTStartup() Line 403 C kernel32.dll!7c816d4f() kernel32.dll!7c8399f3() Accessing the QA menu, first assertion: ###!!! ASSERTION: Computed overflow area must contain frame bounds: 'aNewSize.width == 0 || aNewSize.height == 0 || aOverflowArea->Contains(nsRect(nsPoint(0, 0), aNewSize))', file m:/vc8/mozilla/layout/generic/nsFrame.cpp, line 4656 ntdll.dll!7c901230() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] > xpcom_core.dll!Break(const char * aMsg=0x0012d918) Line 471 C++ xpcom_core.dll!NS_DebugBreak_P(unsigned int aSeverity=1, const char * aStr=0x01c220c8, const char * aExpr=0x01c22060, const char * aFile=0x01c22030, int aLine=4656) Line 354 + 0xc bytes C++ gklayout.dll!nsIFrame::FinishAndStoreOverflow(nsRect * aOverflowArea=0x0012de38, nsSize aNewSize={...}) Line 4656 + 0x87 bytes C++ gklayout.dll!nsBox::SyncLayout(nsBoxLayoutState & aState={...}) Line 884 C++ gklayout.dll!nsBox::EndLayout(nsBoxLayoutState & aState={...}) Line 227 C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 800 C++ gklayout.dll!nsMenuFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1050 C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsSprocketLayout::Layout(nsIFrame * aBox=0x02e5c154, nsBoxLayoutState & aState={...}) Line 547 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsSprocketLayout::Layout(nsIFrame * aBox=0x02e5ba84, nsBoxLayoutState & aState={...}) Line 547 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsSprocketLayout::Layout(nsIFrame * aBox=0x02bd2efc, nsBoxLayoutState & aState={...}) Line 547 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsSprocketLayout::Layout(nsIFrame * aBox=0x02bd2e2c, nsBoxLayoutState & aState={...}) Line 547 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsSprocketLayout::Layout(nsIFrame * aBox=0x02b5001c, nsBoxLayoutState & aState={...}) Line 547 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsStackLayout::Layout(nsIFrame * aBox=0x02b4fddc, nsBoxLayoutState & aState={...}) Line 321 C++ gklayout.dll!nsBoxFrame::DoLayout(nsBoxLayoutState & aState={...}) Line 1069 + 0x24 bytes C++ gklayout.dll!nsIFrame::Layout(nsBoxLayoutState & aState={...}) Line 798 C++ gklayout.dll!nsBoxFrame::Reflow(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0) Line 820 C++ gklayout.dll!nsRootBoxFrame::Reflow(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0) Line 218 C++ gklayout.dll!nsContainerFrame::ReflowChild(nsIFrame * aKidFrame=0x02b4fddc, nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, int aX=0, int aY=0, unsigned int aFlags=0, unsigned int & aStatus=0) Line 739 + 0x21 bytes C++ gklayout.dll!ViewportFrame::Reflow(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsHTMLReflowState & aReflowState={...}, unsigned int & aStatus=0) Line 248 + 0x2b bytes C++ gklayout.dll!IncrementalReflow::Dispatch(nsPresContext * aPresContext=0x02ba6608, nsHTMLReflowMetrics & aDesiredSize={...}, const nsSize & aMaxSize={...}, nsIRenderingContext & aRendContext={...}) Line 862 C++ gklayout.dll!PresShell::ProcessReflowCommands(int aInterruptible=0) Line 6536 C++ gklayout.dll!PresShell::FlushPendingNotifications(mozFlushType aType=Flush_OnlyReflow) Line 5070 C++ gklayout.dll!nsMenuFrame::OpenMenuInternal(int aActivateFlag=1) Line 850 C++ gklayout.dll!nsMenuFrame::OpenMenu(int aActivateFlag=1) Line 743 C++ gklayout.dll!nsMenuFrame::ToggleMenuState() Line 554 C++ gklayout.dll!nsMenuFrame::HandleEvent(nsPresContext * aPresContext=0x02ba6608, nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aEventStatus=0x0012f15c) Line 408 C++ gklayout.dll!nsPresShellEventCB::HandleEvent(nsEventChainPostVisitor & aVisitor={...}) Line 1477 C++ gklayout.dll!nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=6, nsDispatchingCallback * aCallback=0x0012f4dc) Line 503 C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 401 + 0x12 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventDispatcher::Dispatch(nsISupports * aTarget=0x02c450f0, nsPresContext * aPresContext=0x02ba6608, nsEvent * aEvent=0x0012f7fc, nsIDOMEvent * aDOMEvent=0x00000000, nsEventStatus * aEventStatus=0x0012f5c0, nsDispatchingCallback * aCallback=0x0012f4dc, int aTargetIsChromeHandler=0) Line 575 + 0x10 bytes C++ gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012f7fc, nsIView * aView=0x02b627f8, nsEventStatus * aStatus=0x0012f5c0) Line 6124 + 0x2b bytes C++ gklayout.dll!PresShell::HandlePositionedEvent(nsIView * aView=0x02b627f8, nsIFrame * aTargetFrame=0x02e84710, nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aEventStatus=0x0012f5c0) Line 5999 + 0x14 bytes C++ gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x02b627f8, nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aEventStatus=0x0012f5c0) Line 5827 + 0x1b bytes C++ gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x02b627f8, nsPoint aPoint={...}, nsGUIEvent * aEvent=0x0012f7fc, int aCaptured=0) Line 1712 C++ gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aStatus=0x0012f6e8) Line 1665 + 0x22 bytes C++ gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012f7fc) Line 174 C++ gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012f7fc, nsEventStatus & aStatus=nsEventStatus_eIgnore) Line 1100 + 0xc bytes C++ gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012f7fc) Line 1121 C++ gkwidget.dll!nsWindow::DispatchMouseEvent(unsigned int aEventType=302, unsigned int wParam=1, long lParam=459155) Line 6095 + 0x1a bytes C++ gkwidget.dll!ChildWindow::DispatchMouseEvent(unsigned int aEventType=302, unsigned int wParam=1, long lParam=459155) Line 6278 C++ gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=513, unsigned int wParam=1, long lParam=459155, long * aRetValue=0x0012fc80) Line 4568 + 0x20 bytes C++ gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x000205ba, unsigned int msg=513, unsigned int wParam=1, long lParam=459155) Line 1289 + 0x1d bytes C++ user32.dll!77d48734() user32.dll!77d48816() user32.dll!77d489cd() user32.dll!77d49402() user32.dll!77d48a10() gkwidget.dll!nsAppShell::Run() Line 135 C++ appcomps.dll!nsAppStartup::Run() Line 208 C++ seamonkey.exe!main1(int argc=1, char * * argv=0x003d2fb0, nsISupports * nativeApp=0x00a6b0f0) Line 1248 + 0x22 bytes C++ seamonkey.exe!main(int argc=1, char * * argv=0x003d2fb0) Line 1750 + 0x25 bytes C++ seamonkey.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C seamonkey.exe!mainCRTStartup() Line 403 C kernel32.dll!7c816d4f() kernel32.dll!7c8399f3() Accessing the QA menu, second and third assertions: ###!!! ASSERTION: Negative width passed to nsWindow::Resize: '(aWidth >=0 )', file m:/vc8/mozilla/widget/src/windows/nsWindow.cpp, line 2009 ###!!! ASSERTION: Negative height passed to nsWindow::Resize: '(aHeight >=0 )', file m:/vc8/mozilla/widget/src/windows/nsWindow.cpp, line 2010 ntdll.dll!7c901230() [Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll] > xpcom_core.dll!Break(const char * aMsg=0x0012e8d0) Line 471 C++ xpcom_core.dll!NS_DebugBreak_P(unsigned int aSeverity=1, const char * aStr=0x0209c51c, const char * aExpr=0x0209c50c, const char * aFile=0x0209c4dc, int aLine=2009) Line 354 + 0xc bytes C++ gkwidget.dll!nsWindow::Resize(int aWidth=-3, int aHeight=-3, int aRepaint=1) Line 2009 + 0x22 bytes C++ gklayout.dll!nsView::DoResetWidgetBounds(int aMoveOnly=0, int aInvalidateChangedSize=1) Line 408 C++ gklayout.dll!nsView::ResetWidgetBounds(int aRecurse=0, int aMoveOnly=0, int aInvalidateChangedSize=1) Line 339 + 0x10 bytes C++ gklayout.dll!nsViewManager::ProcessPendingUpdates(nsView * aView=0x03426768, int aDoInvalidate=1) Line 1019 C++ gklayout.dll!nsViewManager::ProcessPendingUpdates(nsView * aView=0x02b627f8, int aDoInvalidate=1) Line 1022 C++ gklayout.dll!nsViewManager::FlushPendingInvalidates() Line 2845 C++ gklayout.dll!nsViewManager::EnableRefresh(unsigned int aUpdateFlags=0) Line 2428 C++ gklayout.dll!nsViewManager::EndUpdateViewBatch(unsigned int aUpdateFlags=0) Line 2470 + 0x18 bytes C++ gklayout.dll!PresShell::FlushPendingNotifications(mozFlushType aType=Flush_OnlyReflow) Line 5085 C++ gklayout.dll!nsMenuFrame::OpenMenuInternal(int aActivateFlag=1) Line 850 C++ gklayout.dll!nsMenuFrame::OpenMenu(int aActivateFlag=1) Line 743 C++ gklayout.dll!nsMenuFrame::ToggleMenuState() Line 554 C++ gklayout.dll!nsMenuFrame::HandleEvent(nsPresContext * aPresContext=0x02ba6608, nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aEventStatus=0x0012f15c) Line 408 C++ gklayout.dll!nsPresShellEventCB::HandleEvent(nsEventChainPostVisitor & aVisitor={...}) Line 1477 C++ gklayout.dll!nsEventTargetChainItem::HandleEventTargetChain(nsEventChainPostVisitor & aVisitor={...}, unsigned int aFlags=6, nsDispatchingCallback * aCallback=0x0012f4dc) Line 503 C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 401 + 0x12 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventTargetChainItem::CreateChainAndHandleEvent(nsEventChainPreVisitor & aVisitor={...}, nsDispatchingCallback * aCallback=0x0012f4dc) Line 392 + 0x10 bytes C++ gklayout.dll!nsEventDispatcher::Dispatch(nsISupports * aTarget=0x02c450f0, nsPresContext * aPresContext=0x02ba6608, nsEvent * aEvent=0x0012f7fc, nsIDOMEvent * aDOMEvent=0x00000000, nsEventStatus * aEventStatus=0x0012f5c0, nsDispatchingCallback * aCallback=0x0012f4dc, int aTargetIsChromeHandler=0) Line 575 + 0x10 bytes C++ gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012f7fc, nsIView * aView=0x02b627f8, nsEventStatus * aStatus=0x0012f5c0) Line 6124 + 0x2b bytes C++ gklayout.dll!PresShell::HandlePositionedEvent(nsIView * aView=0x02b627f8, nsIFrame * aTargetFrame=0x02e84710, nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aEventStatus=0x0012f5c0) Line 5999 + 0x14 bytes C++ gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x02b627f8, nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aEventStatus=0x0012f5c0) Line 5827 + 0x1b bytes C++ gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x02b627f8, nsPoint aPoint={...}, nsGUIEvent * aEvent=0x0012f7fc, int aCaptured=0) Line 1712 C++ gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012f7fc, nsEventStatus * aStatus=0x0012f6e8) Line 1665 + 0x22 bytes C++ gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012f7fc) Line 174 C++ gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012f7fc, nsEventStatus & aStatus=nsEventStatus_eIgnore) Line 1100 + 0xc bytes C++ gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012f7fc) Line 1121 C++ gkwidget.dll!nsWindow::DispatchMouseEvent(unsigned int aEventType=302, unsigned int wParam=1, long lParam=459155) Line 6095 + 0x1a bytes C++ gkwidget.dll!ChildWindow::DispatchMouseEvent(unsigned int aEventType=302, unsigned int wParam=1, long lParam=459155) Line 6278 C++ gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=513, unsigned int wParam=1, long lParam=459155, long * aRetValue=0x0012fc80) Line 4568 + 0x20 bytes C++ gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x000205ba, unsigned int msg=513, unsigned int wParam=1, long lParam=459155) Line 1289 + 0x1d bytes C++ user32.dll!77d48734() user32.dll!77d48816() user32.dll!77d489cd() user32.dll!77d49402() user32.dll!77d48a10() gkwidget.dll!nsAppShell::Run() Line 135 C++ appcomps.dll!nsAppStartup::Run() Line 208 C++ seamonkey.exe!main1(int argc=1, char * * argv=0x003d2fb0, nsISupports * nativeApp=0x00a6b0f0) Line 1248 + 0x22 bytes C++ seamonkey.exe!main(int argc=1, char * * argv=0x003d2fb0) Line 1750 + 0x25 bytes C++ seamonkey.exe!__tmainCRTStartup() Line 586 + 0x19 bytes C seamonkey.exe!mainCRTStartup() Line 403 C kernel32.dll!7c816d4f() kernel32.dll!7c8399f3()
Blocks: 332640
Since this affects SeaMonkey as well, it's not a Firefox bug.
Component: Menus → Layout
Product: Firefox → Core
Assignee: nobody → bryner
QA Contact: menus → layout
*** Bug 333103 has been marked as a duplicate of this bug. ***
Also effects Sunbird -> blocks Sunbird 0.3a2 release
Summary: Firefox menus no longer work → Menus (top-level and context) no longer work
Ah... I see BUG https://bugzilla.mozilla.org/show_bug.cgi?id=333051 was opened... Sorry for the bug spam.. Bryan
So is there some indication that bug 332640 is what's responsible here? What's our regression range?
Flags: blocking1.9a1?
Flags: blocking1.8.1?
The indication is that I backed out the patch from bug 332640 (on ajschult's advice), and things started working again.
Flags: blocking1.9a1?
Flags: blocking1.9a1+
Flags: blocking1.8.1?
Flags: blocking1.8.1+
(In reply to comment #12) > The indication is that I backed out the patch from bug 332640 (on ajschult's > advice), and things started working again. > Sorry, but it doesn't appear that they're working again, at least not in the Pacifica trunk builds.
Joe, Alex is talking about a local backout in his copy of the tree.
(In reply to comment #14) > Joe, Alex is talking about a local backout in his copy of the tree. > OK, sorry for le boog spam.
Ok, I think the issue must be that the widget doesn't have a device context associated with it. The docshell doesn't actually use its widget's device context, instead, it creates a new device context and initializes it with the widget. So, we could fix this by: 1. backing out the patch, I can work around it for bug 329871 2. exposing the docshell's device context on an interface. it would need to be a _1_8_BRANCH interface since we'd need this for ff2 3. having the Screen object create a device context using the docshell's widget. would not require interface changes. I am ok with any of these; I guess I'd probably lean more towards 1 because there's no chance of breaking something else in Gecko. Boris, any preference?
Attachment #217643 - Flags: superreview?(bzbarsky)
Attachment #217643 - Flags: review?(bzbarsky)
Attachment #217643 - Flags: approval-branch-1.8.1?(bzbarsky)
Comment on attachment 217643 [details] [diff] [review] back out the patch Let's do this for now, yeah. If needed, I'd think #2 should hopefully be safe... hopfully. :(
Attachment #217643 - Flags: superreview?(bzbarsky)
Attachment #217643 - Flags: superreview+
Attachment #217643 - Flags: review?(bzbarsky)
Attachment #217643 - Flags: review+
Attachment #217643 - Flags: approval-branch-1.8.1?(bzbarsky)
Attachment #217643 - Flags: approval-branch-1.8.1+
backout checked in.
Status: NEW → RESOLVED
Closed: 19 years ago
Keywords: fixed1.8.1
Resolution: --- → FIXED
*** Bug 333214 has been marked as a duplicate of this bug. ***
The backout most definitely fixed it.
Status: RESOLVED → VERIFIED
verified with 2.0b2 builds from 0821
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: