Kaydet (Commit) 91b18146 authored tarafından Philippe Jung's avatar Philippe Jung Kaydeden (comit) Michael Meeks

tdf#91259 Crash when closing Help

Rewrite of splitwin.

The previous implementation used struct and memset/memcpy/memmove.
Struct have been replaced by classes with destructors. Array of pointers
are handled in vectors.
This enables clean call to clear of VclPtr.

Change-Id: Idfbe698348f7bfb46aae7f97f6edbe7127df58cf
Reviewed-on: https://gerrit.libreoffice.org/15756Reviewed-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
Tested-by: 's avatarMichael Meeks <michael.meeks@collabora.com>
üst 16e5fe1a
...@@ -57,9 +57,9 @@ private: ...@@ -57,9 +57,9 @@ private:
long mnMSplitPos; long mnMSplitPos;
WinBits mnWinStyle; WinBits mnWinStyle;
WindowAlign meAlign; WindowAlign meAlign;
sal_uInt16 mnSplitTest; sal_uInt16 mnSplitTest;
sal_uInt16 mnSplitPos; sal_uInt16 mnSplitPos;
sal_uInt16 mnMouseModifier; sal_uInt16 mnMouseModifier;
bool mbDragFull:1, bool mbDragFull:1,
mbHorz:1, mbHorz:1,
mbBottomRight:1, mbBottomRight:1,
...@@ -145,10 +145,10 @@ public: ...@@ -145,10 +145,10 @@ public:
virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE; virtual bool PreNotify( NotifyEvent& rNEvt ) SAL_OVERRIDE;
void InsertItem( sal_uInt16 nId, vcl::Window* pWindow, long nSize, void InsertItem( sal_uInt16 nId, vcl::Window* pWindow, long nSize,
sal_uInt16 nPos = SPLITWINDOW_APPEND, sal_uInt16 nSetId = 0, sal_uInt16 nPos = SPLITWINDOW_APPEND, sal_uInt16 nIntoSetId = 0,
SplitWindowItemBits nBits = 0 ); SplitWindowItemBits nBits = 0 );
void InsertItem( sal_uInt16 nId, long nSize, void InsertItem( sal_uInt16 nId, long nSize,
sal_uInt16 nPos = SPLITWINDOW_APPEND, sal_uInt16 nSetId = 0, sal_uInt16 nPos = SPLITWINDOW_APPEND, sal_uInt16 nIntoSetId = 0,
SplitWindowItemBits nBits = 0 ); SplitWindowItemBits nBits = 0 );
void RemoveItem( sal_uInt16 nId, bool bHide = true ); void RemoveItem( sal_uInt16 nId, bool bHide = true );
void Clear(); void Clear();
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment