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

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

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

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-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

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

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 dennisfrancis...@gmail.com 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,

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 dennisfrancis...@gmail.com 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

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

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 caol...@redhat.com 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

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 dennisfrancis...@gmail.com wrote: Hi Caolán and Maxim Thanks for your replies, My reply is inline. On Tue, Aug 25, 2015 at

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

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-25 Thread Maxim Monastirsky
Hi, On Tue, Aug 25, 2015 at 5:08 PM, Caolán McNamara caol...@redhat.com 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

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() { //