Re: Deletion of vcl::Window's inside ToolBar

2015-09-04 Thread Dennis Francis
Hi Maxim, Michael I have submitted the amended patch. Thanks a lot for the help, I am sure I learned many things from this discussion. Thanks, Dennis On Fri, Sep 4, 2015 at 2:32 PM, Maxim Monastirsky wrote: > Hi Dennis, > > On Wed, Sep 2, 2015 at 6:15 PM, Dennis Francis > wrote: > >> Should I

Re: Deletion of vcl::Window's inside ToolBar

2015-09-04 Thread Maxim Monastirsky
Hi Dennis, On Wed, Sep 2, 2015 at 6:15 PM, Dennis Francis wrote: Should I remove the newly added dispose() functions (for FontList etc..) as well ? Sure, given that they're not needed anymore. And we can always reintroduce them if anything goes wrong with the current approach. Thank you so m

Re: Deletion of vcl::Window's inside ToolBar

2015-09-02 Thread Dennis Francis
Hi Maxim >From the FontList methods, it looks like it uses GetDevFontSize(), GetMapMode(), SetMapMode() and GetDevFontSizeCount() methods of the object that is passed to FontList constructor. All these methods are only defined for OutputDevice class. So it would seem that passing the parent window

Re: Deletion of vcl::Window's inside ToolBar

2015-08-31 Thread Maxim Monastirsky
Hi, On Mon, Aug 31, 2015 at 10:00 PM, Dennis Francis wrote: About passing SvxFontNameBox_Impl : I have not yet understood why we pass that, will check as soon as possible. I will clarify what I meant. It seems to me that we pass the SvxFontNameBox_Impl only to get through it the font list fro

Re: Deletion of vcl::Window's inside ToolBar

2015-08-31 Thread Dennis Francis
Hi Maxim Thanks for pointing out, I have taken out my call of disposeAndClear(). About passing SvxFontNameBox_Impl : I have not yet understood why we pass that, will check as soon as possible. Hi Michael Thanks for the suggestions. I have attempted to do what you suggested in the latest patch up

Re: Deletion of vcl::Window's inside ToolBar

2015-08-31 Thread Michael Meeks
Hi Dennis, On Fri, 2015-08-28 at 09:28 +0530, Dennis Francis wrote: > I tried calling disposeAndClear() on mpWindow but the object remains > intact with a lower mnRefCnt of 207. After putting address of > mnRefCount on gdb watch, Heh =) > it was clear that ref counts gets added for each

Re: Deletion of vcl::Window's inside ToolBar

2015-08-29 Thread Maxim Monastirsky
On Fri, Aug 28, 2015 at 6:58 AM, Dennis Francis wrote: Please suggest any better methods that I may have missed. Another suggestion: It seems that we can pass any window as argument to the FontList ctor, and get the same results. If this is true (which I'm not sure, so should be double checked

Re: Deletion of vcl::Window's inside ToolBar

2015-08-28 Thread Maxim Monastirsky
Hi Dennis, On Fri, Aug 28, 2015 at 6:58 AM, Dennis Francis wrote: I tried calling disposeAndClear() on mpWindow JFYI there is already a call to disposeAndClear() in SfxToolBoxControl::dispose(). it was clear that ref counts gets added for each font added to the font list box widget while c

Re: Deletion of vcl::Window's inside ToolBar

2015-08-27 Thread Dennis Francis
Hi Michael and all, I tried calling disposeAndClear() on mpWindow but the object remains intact with a lower mnRefCnt of 207. After putting address of mnRefCount on gdb watch, it was clear that ref counts gets added for each font added to the font list box widget while calling the constructor of I

Re: Deletion of vcl::Window's inside ToolBar

2015-08-26 Thread Michael Meeks
Hi Dennis, On Wed, 2015-08-26 at 17:59 +0530, Dennis Francis wrote: > After entering ToolBarManager::RemoveControllers, I put a break point > on SvxFontNameBox_Impl::~SvxFontNameBox_Impl and then did > mpWindow.clear() in gdb (where mpWindow is the SvxFontNameBox_Impl > object wrapped in VclPtr).

Re: Deletion of vcl::Window's inside ToolBar

2015-08-26 Thread Dennis Francis
Hi After entering ToolBarManager::RemoveControllers, I put a break point on SvxFontNameBox_Impl::~SvxFontNameBox_Impl and then did mpWindow.clear() in gdb (where mpWindow is the SvxFontNameBox_Impl object wrapped in VclPtr). But gdb did not show a call on the dtor ~SvxFontNameBox_Impl. After furth

Re: Deletion of vcl::Window's inside ToolBar

2015-08-26 Thread Dennis Francis
Sorry, I understand now that pItem->mpWindow is a smart pointer (VclPtr). So the issue may be elsewhere. Thanks, Dennis On Wed, Aug 26, 2015 at 3:42 PM, Dennis Francis wrote: > Hi Caolán and Maxim > > Thanks for your replies, My reply is inline. > > On Tue, Aug 25, 2015 at 7:38 PM, Caolán McNam

Re: Deletion of vcl::Window's inside ToolBar

2015-08-26 Thread Dennis Francis
Hi Caolán and Maxim Thanks for your replies, My reply is inline. On Tue, Aug 25, 2015 at 7:38 PM, Caolán McNamara wrote: > Digging into the other examples, I guess that SetItemWindow was called > on the toolbar with the SvxFontNameBox_Impl window as an argument ? > yes. > > If that's the case

Re: Deletion of vcl::Window's inside ToolBar

2015-08-25 Thread Maxim Monastirsky
Hi, On Tue, Aug 25, 2015 at 5:08 PM, Caolán McNamara wrote: i.e. what entity put the item into the toolbar is the same entity that has to remove it and dispose it. Just to add some specific code pointers: The window items are added to the toolbar in ToolBarManager::CreateControllers, and re

Re: Deletion of vcl::Window's inside ToolBar

2015-08-25 Thread Caolán McNamara
On Fri, 2015-08-21 at 23:51 +0530, Dennis Francis wrote: > Hi all, > > I am trying to understand where the SvxFontNameBox_Impl objects are > deallocated. With help from > gdb and opengrok, I found that it is held in ImplToolItem::mpWindow. > But in ImplToolItem destructor it says clearly not to

Deletion of vcl::Window's inside ToolBar

2015-08-21 Thread Dennis Francis
Hi all, I am trying to understand where the SvxFontNameBox_Impl objects are deallocated. With help from gdb and opengrok, I found that it is held in ImplToolItem::mpWindow. But in ImplToolItem destructor it says clearly not to remove mpWindow as a comment. ImplToolItem::~ImplToolItem() { // don't