MLK: We leak a lot of gtk_invisibles from nsLookAndFeel

VERIFIED FIXED

Status

()

P3
critical
VERIFIED FIXED
19 years ago
19 years ago

People

(Reporter: bruce, Assigned: pavlov)

Tracking

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

19 years ago
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
(Assignee)

Comment 1

19 years ago
checked in fix
Status: NEW → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED
(Reporter)

Comment 2

19 years ago
Verified in Purify!
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.