Closed
Bug 29945
Opened 25 years ago
Closed 25 years ago
MLK: We leak some gtk_superwin structs.
Categories
(Core :: XUL, defect, P3)
Tracking
()
VERIFIED
FIXED
People
(Reporter: bruce, Assigned: blizzard)
Details
Attachments
(1 file)
(deleted),
patch
|
Details | Diff | Splinter Review |
We don't appear to leak any nsWindow objects. We aren't clobbering the mSuperWin
member variable on nsWindow so far as I could tell. Steps to reproduce:
1) Launch viewer. Let it load sample #0 by default.
2) Go to http://www.cybersight.com/~bruce/
3) Quit.
4) Note that 2 gtk_superwin objects, one of each allocation point as indicated
below have leaked.
MLK: 112 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]
gdk_superwin_new [gdksuperwin.c:114]
nsWindow::CreateNative(_GtkObject*) [nsWindow.cpp:1543]
nsWidget::CreateWidget(nsIWidget*,const
nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*,void*)
[nsWidget.cpp:1156]
nsWidget::Create(nsIWidget*,const
nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*)
[nsWidget.cpp:1223]
nsView::CreateWidget(const nsID&,nsWidgetInitData*,void*,int)
[nsView.cpp:1268]
nsScrollPortView::CreateScrollControls(void*) [nsScrollPortView.cpp:153]
nsScrollPortFrame::CreateScrollingView(nsIPresContext*)
[nsScrollPortFrame.cpp:299]
nsScrollPortFrame::Init(nsIPresContext*,nsIContent*,nsIFrame*,nsIStyleContext*,nsIFrame*)
[nsScrollPortFrame.cpp:115]
nsCSSFrameConstructor::InitAndRestoreFrame(nsIPresContext*,nsFrameConstructorState&,nsIContent*,nsIFrame*,nsIStyleContext*,nsIFrame*,nsIFrame*)
[nsCSSFrameConstructor.cpp:5271]
nsCSSFrameConstructor::BeginBuildingScrollFrame(nsIPresShell*,nsIPresContext*,nsFrameConstructorState&,nsIContent*,nsIStyleContext*,nsIFrame*,nsIAtom*,nsIDocument*,nsIFrame*&,nsCOMPtr<nsIStyleContext>&,nsIFrame*&)
[nsCSSFrameConstructor.cpp:4591]
nsCSSFrameConstructor::ConstructRootFrame(nsIPresShell*,nsIPresContext*,nsIContent*,nsIFrame*&)
[nsCSSFrameConstructor.cpp:2652]
StyleSetImpl::ConstructRootFrame(nsIPresContext*,nsIContent*,nsIFrame*&)
[nsStyleSet.cpp:942]
PresShell::InitialReflow(int,int) [nsPresShell.cpp:1205]
HTMLContentSink::StartLayout() [nsHTMLContentSink.cpp:3054]
HTMLContentSink::OpenBody(const nsIParserNode&)
[nsHTMLContentSink.cpp:2681]
CNavDTD::OpenBody(const nsIParserNode*) [CNavDTD.cpp:2622]
CNavDTD::OpenContainer(const nsIParserNode*,nsHTMLTag,int,nsEntryStack*)
[CNavDTD.cpp:2874]
CNavDTD::HandleDefaultStartToken(CToken*,nsHTMLTag,nsIParserNode*)
[CNavDTD.cpp:1077]
CNavDTD::HandleStartToken(CToken*) [CNavDTD.cpp:1391]
CNavDTD::HandleToken(CToken*,nsIParser*) [CNavDTD.cpp:765]
CNavDTD::BuildModel(nsIParser*,nsITokenizer*,nsITokenObserver*,nsIContentSink*)
[CNavDTD.cpp:504]
nsParser::BuildModel() [nsParser.cpp:1231]
nsParser::ResumeParse(nsIDTD*,int) [nsParser.cpp:1146]
nsParser::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned
int,unsigned int) [nsParser.cpp:1524]
nsDocumentOpenInfo::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned
int,unsigned int) [nsURILoader.cpp:266]
InterceptStreamListener::OnDataAvailable(nsIChannel*,nsISupports*,nsIInputStream*,unsigned
int,unsigned int) [nsCachedNetData.cpp:1125]
* Block of 56 bytes (2 times); last block at 0xceafe8
MLK: 112 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]
gdk_superwin_new [gdksuperwin.c:114]
nsWindow::CreateNative(_GtkObject*) [nsWindow.cpp:1543]
nsWidget::CreateWidget(nsIWidget*,const
nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*,void*)
[nsWidget.cpp:1156]
nsWidget::Create(void*,const
nsRect&,nsEventStatus(*)(nsGUIEvent*),nsIDeviceContext*,nsIAppShell*,nsIToolkit*,nsWidgetInitData*)
[nsWidget.cpp:1241]
nsView::CreateWidget(const nsID&,nsWidgetInitData*,void*,int)
[nsView.cpp:1263]
DocumentViewerImpl::MakeWindow(void*,const nsRect&,nsScrollPreference)
[nsDocumentViewer.cpp:912]
DocumentViewerImpl::Init(void*,nsIDeviceContext*,nsIPref*,const
nsRect&,nsScrollPreference) [nsDocumentViewer.cpp:472]
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]
g_io_unix_dispatch [giounix.c:131]
g_main_dispatch [gmain.c:647]
g_main_iterate [gmain.c:854]
* Block of 56 bytes (2 times); last block at 0xc89660
Assignee | ||
Comment 1•25 years ago
|
||
Assignee | ||
Comment 2•25 years ago
|
||
Here's a patch that should fix it.
Assignee | ||
Updated•25 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 3•25 years ago
|
||
Checked in.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 5•25 years ago
|
||
Please ignore the spam. Changing address.
Assignee: blizzard → blizzard
Status: VERIFIED → NEW
Assignee | ||
Comment 6•25 years ago
|
||
bustage from my reassign
Status: NEW → RESOLVED
Closed: 25 years ago → 25 years ago
You need to log in
before you can comment on or make changes to this bug.
Description
•