From 5d8cfb239388815458544e673f71a08ef3896bf4 Mon Sep 17 00:00:00 2001 From: "mjudge%netscape.com" Date: Sat, 8 Apr 2000 00:17:14 +0000 Subject: [PATCH] a=leaf r=ftang. I will be more carefull with ime when doing selection.. I will be more carefull with ime... git-svn-id: svn://10.0.0.236/trunk@65516 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/layout/generic/nsTextFrame.cpp | 13 +++++++++++++ mozilla/layout/html/base/src/nsTextFrame.cpp | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/mozilla/layout/generic/nsTextFrame.cpp b/mozilla/layout/generic/nsTextFrame.cpp index 72c7c4aa16d..9071f5f3c0f 100644 --- a/mozilla/layout/generic/nsTextFrame.cpp +++ b/mozilla/layout/generic/nsTextFrame.cpp @@ -773,6 +773,7 @@ class DrawSelectionIterator enum {SELECTION_TYPES_WE_CARE_ABOUT=SELECTION_NONE+SELECTION_NORMAL}; public: DrawSelectionIterator(const SelectionDetails *aSelDetails, PRUnichar *aText,PRUint32 aTextLength, nsTextFrame::TextStyle &aTextStyle); + ~DrawSelectionIterator(); PRBool First(); PRBool Next(); PRBool IsDone(); @@ -843,6 +844,12 @@ DrawSelectionIterator::DrawSelectionIterator(const SelectionDetails *aSelDetails mTypes[i]|=details->mType;//add this bit } } + if (!mInit && mTypes) //we have details but none that we + { + delete mTypes; + mTypes = nsnull; + mDone = true; + } details= details->mNext; } } @@ -854,6 +861,12 @@ DrawSelectionIterator::DrawSelectionIterator(const SelectionDetails *aSelDetails mInit = PR_TRUE; } +DrawSelectionIterator::~DrawSelectionIterator() +{ + if (mTypes) + delete mTypes; +} + void DrawSelectionIterator::FillCurrentData() { diff --git a/mozilla/layout/html/base/src/nsTextFrame.cpp b/mozilla/layout/html/base/src/nsTextFrame.cpp index 72c7c4aa16d..9071f5f3c0f 100644 --- a/mozilla/layout/html/base/src/nsTextFrame.cpp +++ b/mozilla/layout/html/base/src/nsTextFrame.cpp @@ -773,6 +773,7 @@ class DrawSelectionIterator enum {SELECTION_TYPES_WE_CARE_ABOUT=SELECTION_NONE+SELECTION_NORMAL}; public: DrawSelectionIterator(const SelectionDetails *aSelDetails, PRUnichar *aText,PRUint32 aTextLength, nsTextFrame::TextStyle &aTextStyle); + ~DrawSelectionIterator(); PRBool First(); PRBool Next(); PRBool IsDone(); @@ -843,6 +844,12 @@ DrawSelectionIterator::DrawSelectionIterator(const SelectionDetails *aSelDetails mTypes[i]|=details->mType;//add this bit } } + if (!mInit && mTypes) //we have details but none that we + { + delete mTypes; + mTypes = nsnull; + mDone = true; + } details= details->mNext; } } @@ -854,6 +861,12 @@ DrawSelectionIterator::DrawSelectionIterator(const SelectionDetails *aSelDetails mInit = PR_TRUE; } +DrawSelectionIterator::~DrawSelectionIterator() +{ + if (mTypes) + delete mTypes; +} + void DrawSelectionIterator::FillCurrentData() {