Closed Bug 29942 Opened 25 years ago Closed 25 years ago

MLK: We leak a lot of gtk_invisibles from nsLookAndFeel

Categories

(Core :: XUL, defect, P3)

x86
Linux
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: bruce, Assigned: pavlov)

Details

As mentioned in the summary, we leak a lot of gtk_invisible structs from the nsLookAndFeel objects: We leak more and more and more as we browse, so this is contributing a lot of noise to leak reporting. MLK: 64 bytes leaked at 0x787d80 * This memory was allocated from: malloc [rtlib.o] calloc [rtlib.o] g_malloc0 [gmem.c:242] gtk_type_new [gtktypeutils.c:374] gtk_invisible_new [gtkinvisible.c:86] nsLookAndFeel::nsLookAndFeel() [nsLookAndFeel.cpp:40] nsWidgetFactory::CreateInstance(nsISupports*,const nsID&,void**) [nsWidgetFactory.cpp:181] nsComponentManagerImpl::CreateInstance(const nsID&,nsISupports*,const nsID&,void**) [nsComponentManager.cpp:1253] nsComponentManager::CreateInstance(const nsID&,nsISupports*,const nsID&,void**) [nsRepository.cpp:81] nsBrowserWindow::Layout(int,int) [nsBrowserWindow.cpp:1452] HandleBrowserEvent(nsGUIEvent*) [nsBrowserWindow.cpp:328] nsWidget::DispatchEvent(nsGUIEvent*,nsEventStatus&) [nsWidget.cpp:1417] nsWidget::DispatchWindowEvent(nsGUIEvent*) [nsWidget.cpp:1308] nsWidget::OnResize(nsSizeEvent) [nsWidget.cpp:623] nsWindow::Resize(int,int,int) [nsWindow.cpp:2289] nsWidget::CreateWidget(nsIWidget*,const nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*,void*) [nsWidget.cpp:1158] nsWidget::Create(nsIWidget*,const nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*) [nsWidget.cpp:1223] nsBrowserWindow::Init(nsIAppShell*,nsIPref*,const nsRect&,unsigned int,int) [nsBrowserWindow.cpp:1109] nsViewerApp::OpenWindow() [nsViewerApp.cpp:707] nsNativeViewerApp::Run() [nsGtkMain.cpp:48] main [nsGtkMain.cpp:168] _start [crt1.o] MLK: 128 bytes leaked in 2 blocks * This memory was allocated from: malloc [rtlib.o] calloc [rtlib.o] g_malloc0 [gmem.c:242] gtk_type_new [gtktypeutils.c:374] gtk_invisible_new [gtkinvisible.c:86] nsLookAndFeel::nsLookAndFeel() [nsLookAndFeel.cpp:40] nsWidgetFactory::CreateInstance(nsISupports*,const nsID&,void**) [nsWidgetFactory.cpp:181] nsComponentManagerImpl::CreateInstance(const nsID&,nsISupports*,const nsID&,void**) [nsComponentManager.cpp:1253] nsComponentManager::CreateInstance(const nsID&,nsISupports*,const nsID&,void**) [nsRepository.cpp:81] nsCaret::Init(nsIPresShell*) [nsCaret.cpp:85] PresShell::Init(nsIDocument*,nsIPresContext*,nsIViewManager*,nsIStyleSet*) [nsPresShell.cpp:805] nsMarkupDocument::CreateShell(nsIPresContext*,nsIViewManager*,nsIStyleSet*,nsIPresShell**) [nsMarkupDocument.cpp:74] nsHTMLDocument::CreateShell(nsIPresContext*,nsIViewManager*,nsIStyleSet*,nsIPresShell**) [nsHTMLDocument.cpp:376] DocumentViewerImpl::Init(void*,nsIDeviceContext*,nsIPref*,const nsRect&,nsScrollPreference) [nsDocumentViewer.cpp:482] nsDocShell::SetupNewViewer(nsIContentViewer*) [nsDocShell.cpp:2006] nsWebShell::SetupNewViewer(nsIContentViewer*) [nsWebShell.cpp:809] nsDocShell::CreateContentViewer(const char*,int,nsIChannel*,nsIStreamListener**) [nsDocShell.cpp:1876] nsWebShell::DoContent(const char*,int,const char*,nsIChannel*,nsIStreamListener**,int*) [nsWebShell.cpp:1631] nsDocumentOpenInfo::DispatchContent(nsIChannel*,nsISupports*) [nsURILoader.cpp:389] nsDocumentOpenInfo::OnStartRequest(nsIChannel*,nsISupports*) [nsURILoader.cpp:252] InterceptStreamListener::OnStartRequest(nsIChannel*,nsISupports*) [nsCachedNetData.cpp:1100] nsHTTPServerListener::FinishedResponseHeaders() [nsHTTPResponseListener.cpp:680] nsHTTPServerListener::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned int,unsigned int) [nsHTTPResponseListener.cpp:309] nsOnDataAvailableEvent::HandleEvent() [nsAsyncStreamListener.cpp:373] nsStreamListenerEvent::HandlePLEvent(PLEvent*) [nsAsyncStreamListener.cpp:97] PL_HandleEvent [plevent.c:526] PL_ProcessPendingEvents [plevent.c:487] nsEventQueueImpl::ProcessPendingEvents() [nsEventQueue.cpp:298] event_processor_callback(void*,int,GdkInputCondition) [nsAppShell.cpp:141] our_gdk_io_invoke(_GIOChannel*,GIOCondition,void*) [nsAppShell.cpp:54] * Block of 64 bytes (2 times); last block at 0xd237e8
checked in fix
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Verified in Purify!
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.