summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorHerbert Dürr <hdu@apache.org>2012-06-18 12:05:35 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-04-19 09:28:13 +0100
commit3ce89a2149d3495ff63827b39c33a79cb9abacab (patch)
treed0e7d07faf1da5945f0825b3298e7a8bf2a981b3 /vcl
parent6f30f805bd87b940fd0693fb9f8c90e6ca779eff (diff)
Resolves: coverity#708649# start to fix mis-pimpl-ification of Window class
(cherry picked from commit b0a0253e4fea1d79bc255d45f8472498a3206fd5) Conflicts: vcl/source/window/window.cxx Change-Id: I8330b7361dfdd9f291babb2e49d59ddeb91f5e35
Diffstat (limited to 'vcl')
-rw-r--r--vcl/inc/window.h2
-rw-r--r--vcl/source/window/window.cxx321
2 files changed, 158 insertions, 165 deletions
diff --git a/vcl/inc/window.h b/vcl/inc/window.h
index 97401f20d460..725f5ad2c630 100644
--- a/vcl/inc/window.h
+++ b/vcl/inc/window.h
@@ -226,7 +226,7 @@ enum AlwaysInputMode { AlwaysInputNone = 0, AlwaysInputEnabled = 1, AlwaysInputD
class WindowImpl
{
public:
- WindowImpl();
+ WindowImpl( WindowType );
~WindowImpl();
ImplWinData* mpWinData;
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 7deb67c6180b..53b349f48a1b 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -148,12 +148,161 @@ ImplAccessibleInfos::~ImplAccessibleInfos()
// -----------------------------------------------------------------------
-WindowImpl::WindowImpl()
-{
+WindowImpl::WindowImpl( WindowType nType )
+{
+ maZoom = Fraction( 1, 1 );
+ maWinRegion = Region( REGION_NULL );
+ maWinClipRegion = Region( REGION_NULL );
+ mpWinData = NULL; // Extra Window Data, that we dont need for all windows
+ mpOverlapData = NULL; // Overlap Data
+ mpFrameData = NULL; // Frame Data
+ mpFrame = NULL; // Pointer to frame window
+ mpSysObj = NULL;
+ mpFrameWindow = NULL; // window to top level parent (same as frame window)
+ mpOverlapWindow = NULL; // first overlap parent
+ mpBorderWindow = NULL; // Border-Window
+ mpClientWindow = NULL; // Client-Window of a FrameWindow
+ mpParent = NULL; // parent (inkl. BorderWindow)
+ mpRealParent = NULL; // real parent (exkl. BorderWindow)
+ mpFirstChild = NULL; // first child window
+ mpLastChild = NULL; // last child window
+ mpFirstOverlap = NULL; // first overlap window (only set in overlap windows)
+ mpLastOverlap = NULL; // last overlap window (only set in overlap windows)
+ mpPrev = NULL; // prev window
+ mpNext = NULL; // next window
+ mpNextOverlap = NULL; // next overlap window of frame
+ mpLastFocusWindow = NULL; // window for focus restore
+ mpDlgCtrlDownWindow = NULL; // window for dialog control
+ mpFirstDel = NULL; // Dtor notification list
+ mpUserData = NULL; // user data
+ mpCursor = NULL; // cursor
+ mpControlFont = NULL; // font propertie
+ mpVCLXWindow = NULL;
+ mpAccessibleInfos = NULL;
+ maControlForeground = Color( COL_TRANSPARENT ); // no foreground set
+ maControlBackground = Color( COL_TRANSPARENT ); // no background set
+ mnLeftBorder = 0; // left border
+ mnTopBorder = 0; // top border
+ mnRightBorder = 0; // right border
+ mnBottomBorder = 0; // bottom border
+ mnWidthRequest = -1; // width request
+ mnHeightRequest = -1; // height request
+ mnX = 0; // X-Position to Parent
+ mnY = 0; // Y-Position to Parent
+ mnAbsScreenX = 0; // absolute X-position on screen, used for RTL window positioning
+ mpChildClipRegion = NULL; // Child-Clip-Region when ClipChildren
+ mpPaintRegion = NULL; // Paint-ClipRegion
+ mnStyle = 0; // style (init in ImplInitWindow)
+ mnPrevStyle = 0; // prevstyle (set in SetStyle)
+ mnExtendedStyle = 0; // extended style (init in ImplInitWindow)
+ mnPrevExtendedStyle = 0; // prevstyle (set in SetExtendedStyle)
+ mnType = nType; // type
+ mnGetFocusFlags = 0; // Flags fuer GetFocus()-Aufruf
+ mnWaitCount = 0; // Wait-Count (>1 == Warte-MousePointer)
+ mnPaintFlags = 0; // Flags for ImplCallPaint
+ mnParentClipMode = 0; // Flags for Parent-ClipChildren-Mode
+ mnActivateMode = 0; // Will be converted in System/Overlap-Windows
+ mnDlgCtrlFlags = 0; // DialogControl-Flags
+ mnLockCount = 0; // LockCount
+ meAlwaysInputMode = AlwaysInputNone; // neither AlwaysEnableInput nor AlwaysDisableInput called
+ meHalign = VCL_ALIGN_FILL;
+ meValign = VCL_ALIGN_FILL;
+ mePackType = VCL_PACK_START;
+ mnPadding = 0;
+ mnGridHeight = 1;
+ mnGridLeftAttach = -1;
+ mnGridTopAttach = -1;
+ mnGridWidth = 1;
+ mnBorderWidth = 0;
+ mnMarginLeft = 0;
+ mnMarginRight = 0;
+ mnMarginTop = 0;
+ mnMarginBottom = 0;
+ mbFrame = sal_False; // sal_True: Window is a frame window
+ mbBorderWin = sal_False; // sal_True: Window is a border window
+ mbOverlapWin = sal_False; // sal_True: Window is a overlap window
+ mbSysWin = sal_False; // sal_True: SystemWindow is the base class
+ mbDialog = sal_False; // sal_True: Dialog is the base class
+ mbDockWin = sal_False; // sal_True: DockingWindow is the base class
+ mbFloatWin = sal_False; // sal_True: FloatingWindow is the base class
+ mbPushButton = sal_False; // sal_True: PushButton is the base class
+ mbToolBox = sal_False; // sal_True: ToolBox is the base class
+ mbMenuFloatingWindow= sal_False; // sal_True: MenuFloatingWindow is the base class
+ mbToolbarFloatingWindow= sal_False; // sal_True: ImplPopupFloatWin is the base class, used for subtoolbars
+ mbSplitter = sal_False; // sal_True: Splitter is the base class
+ mbVisible = sal_False; // sal_True: Show( sal_True ) called
+ mbOverlapVisible = sal_False; // sal_True: Hide called for visible window from ImplHideAllOverlapWindow()
+ mbDisabled = sal_False; // sal_True: Enable( sal_False ) called
+ mbInputDisabled = sal_False; // sal_True: EnableInput( sal_False ) called
+ mbDropDisabled = sal_False; // sal_True: Drop is enabled
+ mbNoUpdate = sal_False; // sal_True: SetUpdateMode( sal_False ) called
+ mbNoParentUpdate = sal_False; // sal_True: SetParentUpdateMode( sal_False ) called
+ mbActive = sal_False; // sal_True: Window Active
+ mbParentActive = sal_False; // sal_True: OverlapActive from Parent
+ mbReallyVisible = sal_False; // sal_True: this and all parents to an overlaped window are visible
+ mbReallyShown = sal_False; // sal_True: this and all parents to an overlaped window are shown
+ mbInInitShow = sal_False; // sal_True: we are in InitShow
+ mbChildNotify = sal_False; // sal_True: ChildNotify
+ mbChildPtrOverwrite = sal_False; // sal_True: PointerStyle overwrites Child-Pointer
+ mbNoPtrVisible = sal_False; // sal_True: ShowPointer( sal_False ) called
+ mbMouseMove = sal_False; // sal_True: BaseMouseMove called
+ mbPaintFrame = sal_False; // sal_True: Paint is visible, but not painted
+ mbInPaint = sal_False; // sal_True: Inside PaintHdl
+ mbMouseButtonDown = sal_False; // sal_True: BaseMouseButtonDown called
+ mbMouseButtonUp = sal_False; // sal_True: BaseMouseButtonUp called
+ mbKeyInput = sal_False; // sal_True: BaseKeyInput called
+ mbKeyUp = sal_False; // sal_True: BaseKeyUp called
+ mbCommand = sal_False; // sal_True: BaseCommand called
+ mbDefPos = sal_True; // sal_True: Position is not Set
+ mbDefSize = sal_True; // sal_True: Size is not Set
+ mbCallMove = sal_True; // sal_True: Move must be called by Show
+ mbCallResize = sal_True; // sal_True: Resize must be called by Show
+ mbWaitSystemResize = sal_True; // sal_True: Wait for System-Resize
+ mbInitWinClipRegion = sal_True; // sal_True: Calc Window Clip Region
+ mbInitChildRegion = sal_False; // sal_True: InitChildClipRegion
+ mbWinRegion = sal_False; // sal_True: Window Region
+ mbClipChildren = sal_False; // sal_True: Child-window should be clipped
+ mbClipSiblings = sal_False; // sal_True: Adjacent Child-window should be clipped
+ mbChildTransparent = sal_False; // sal_True: Child-windows are allowed to switch to transparent (incl. Parent-CLIPCHILDREN)
+ mbPaintTransparent = sal_False; // sal_True: Paints should be executed on the Parent
+ mbMouseTransparent = sal_False; // sal_True: Window is transparent for Mouse
+ mbDlgCtrlStart = sal_False; // sal_True: From here on own Dialog-Control
+ mbFocusVisible = sal_False; // sal_True: Focus Visible
+ mbUseNativeFocus = sal_False;
+ mbNativeFocusVisible= sal_False; // sal_True: native Focus Visible
+ mbInShowFocus = sal_False; // prevent recursion
+ mbInHideFocus = sal_False; // prevent recursion
+ mbTrackVisible = sal_False; // sal_True: Tracking Visible
+ mbControlForeground = sal_False; // sal_True: Foreground-Property set
+ mbControlBackground = sal_False; // sal_True: Background-Property set
+ mbAlwaysOnTop = sal_False; // sal_True: always visible for all others windows
+ mbCompoundControl = sal_False; // sal_True: Composite Control => Listener...
+ mbCompoundControlHasFocus = sal_False; // sal_True: Composite Control has focus somewhere
+ mbPaintDisabled = sal_False; // sal_True: Paint should not be executed
+ mbAllResize = sal_False; // sal_True: Also sent ResizeEvents with 0,0
+ mbInDtor = sal_False; // sal_True: We're still in Window-Dtor
+ mbExtTextInput = sal_False; // sal_True: ExtTextInput-Mode is active
+ mbInFocusHdl = sal_False; // sal_True: Within GetFocus-Handler
+ mbCreatedWithToolkit = sal_False;
+ mbSuppressAccessibilityEvents = sal_False; // sal_True: do not send any accessibility events
+ mbDrawSelectionBackground = sal_False; // sal_True: draws transparent window background to indicate (toolbox) selection
+ mbIsInTaskPaneList = sal_False; // sal_True: window was added to the taskpanelist in the topmost system window
+ mnNativeBackground = 0; // initialize later, depends on type
+ mbCallHandlersDuringInputDisabled = sal_False; // sal_True: call event handlers even if input is disabled
+ mbHelpTextDynamic = sal_False; // sal_True: append help id in HELP_DEBUG case
+ mbFakeFocusSet = sal_False; // sal_True: pretend as if the window has focus.
+ mbHexpand = false;
+ mbVexpand = false;
+ mbExpand = false;
+ mbFill = true;
+ mbSecondary = false;
}
WindowImpl::~WindowImpl()
{
+ delete mpChildClipRegion;
+ delete mpAccessibleInfos;
+ delete mpControlFont;
}
@@ -572,157 +721,10 @@ CommandEvent ImplTranslateCommandEvent( const CommandEvent& rCEvt, Window* pSour
void Window::ImplInitWindowData( WindowType nType )
{
- mpWindowImpl = new WindowImpl;
+ mpWindowImpl = new WindowImpl( nType );
meOutDevType = OUTDEV_WINDOW;
- mpWindowImpl->maZoom = Fraction( 1, 1 );
- mpWindowImpl->maWinRegion = Region( REGION_NULL );
- mpWindowImpl->maWinClipRegion = Region( REGION_NULL );
- mpWindowImpl->mpWinData = NULL; // Extra Window Data, that we dont need for all windows
- mpWindowImpl->mpOverlapData = NULL; // Overlap Data
- mpWindowImpl->mpFrameData = NULL; // Frame Data
- mpWindowImpl->mpFrame = NULL; // Pointer to frame window
- mpWindowImpl->mpSysObj = NULL;
- mpWindowImpl->mpFrameWindow = NULL; // window to top level parent (same as frame window)
- mpWindowImpl->mpOverlapWindow = NULL; // first overlap parent
- mpWindowImpl->mpBorderWindow = NULL; // Border-Window
- mpWindowImpl->mpClientWindow = NULL; // Client-Window of a FrameWindow
- mpWindowImpl->mpParent = NULL; // parent (inkl. BorderWindow)
- mpWindowImpl->mpRealParent = NULL; // real parent (exkl. BorderWindow)
- mpWindowImpl->mpFirstChild = NULL; // first child window
- mpWindowImpl->mpLastChild = NULL; // last child window
- mpWindowImpl->mpFirstOverlap = NULL; // first overlap window (only set in overlap windows)
- mpWindowImpl->mpLastOverlap = NULL; // last overlap window (only set in overlap windows)
- mpWindowImpl->mpPrev = NULL; // prev window
- mpWindowImpl->mpNext = NULL; // next window
- mpWindowImpl->mpNextOverlap = NULL; // next overlap window of frame
- mpWindowImpl->mpLastFocusWindow = NULL; // window for focus restore
- mpWindowImpl->mpDlgCtrlDownWindow = NULL; // window for dialog control
- mpWindowImpl->mpFirstDel = NULL; // Dtor notification list
- mpWindowImpl->mpUserData = NULL; // user data
- mpWindowImpl->mpCursor = NULL; // cursor
- mpWindowImpl->mpControlFont = NULL; // font propertie
- mpWindowImpl->mpVCLXWindow = NULL;
- mpWindowImpl->mpAccessibleInfos = NULL;
- mpWindowImpl->maControlForeground = Color( COL_TRANSPARENT ); // no foreground set
- mpWindowImpl->maControlBackground = Color( COL_TRANSPARENT ); // no background set
- mpWindowImpl->mnLeftBorder = 0; // left border
- mpWindowImpl->mnTopBorder = 0; // top border
- mpWindowImpl->mnRightBorder = 0; // right border
- mpWindowImpl->mnBottomBorder = 0; // bottom border
- mpWindowImpl->mnWidthRequest = -1; // width request
- mpWindowImpl->mnHeightRequest = -1; // height request
- mpWindowImpl->mnX = 0; // X-Position to Parent
- mpWindowImpl->mnY = 0; // Y-Position to Parent
- mpWindowImpl->mnAbsScreenX = 0; // absolute X-position on screen, used for RTL window positioning
- mpWindowImpl->mpChildClipRegion = NULL; // Child-Clip-Region when ClipChildren
- mpWindowImpl->mpPaintRegion = NULL; // Paint-ClipRegion
- mpWindowImpl->mnStyle = 0; // style (init in ImplInitWindow)
- mpWindowImpl->mnPrevStyle = 0; // prevstyle (set in SetStyle)
- mpWindowImpl->mnExtendedStyle = 0; // extended style (init in ImplInitWindow)
- mpWindowImpl->mnPrevExtendedStyle = 0; // prevstyle (set in SetExtendedStyle)
- mpWindowImpl->mnType = nType; // type
- mpWindowImpl->mnGetFocusFlags = 0; // Flags fuer GetFocus()-Aufruf
- mpWindowImpl->mnWaitCount = 0; // Wait-Count (>1 == Warte-MousePointer)
- mpWindowImpl->mnPaintFlags = 0; // Flags for ImplCallPaint
- mpWindowImpl->mnParentClipMode = 0; // Flags for Parent-ClipChildren-Mode
- mpWindowImpl->mnActivateMode = 0; // Will be converted in System/Overlap-Windows
- mpWindowImpl->mnDlgCtrlFlags = 0; // DialogControl-Flags
- mpWindowImpl->mnLockCount = 0; // LockCount
- mpWindowImpl->meAlwaysInputMode = AlwaysInputNone; // neither AlwaysEnableInput nor AlwaysDisableInput called
- mpWindowImpl->meHalign = VCL_ALIGN_FILL;
- mpWindowImpl->meValign = VCL_ALIGN_FILL;
- mpWindowImpl->mePackType = VCL_PACK_START;
- mpWindowImpl->mnPadding = 0;
- mpWindowImpl->mnGridHeight = 1;
- mpWindowImpl->mnGridLeftAttach = -1;
- mpWindowImpl->mnGridTopAttach = -1;
- mpWindowImpl->mnGridWidth = 1;
- mpWindowImpl->mnBorderWidth = 0;
- mpWindowImpl->mnMarginLeft = 0;
- mpWindowImpl->mnMarginRight = 0;
- mpWindowImpl->mnMarginTop = 0;
- mpWindowImpl->mnMarginBottom = 0;
- mpWindowImpl->mbFrame = sal_False; // sal_True: Window is a frame window
- mpWindowImpl->mbBorderWin = sal_False; // sal_True: Window is a border window
- mpWindowImpl->mbOverlapWin = sal_False; // sal_True: Window is a overlap window
- mpWindowImpl->mbSysWin = sal_False; // sal_True: SystemWindow is the base class
- mpWindowImpl->mbDialog = sal_False; // sal_True: Dialog is the base class
- mpWindowImpl->mbDockWin = sal_False; // sal_True: DockingWindow is the base class
- mpWindowImpl->mbFloatWin = sal_False; // sal_True: FloatingWindow is the base class
- mpWindowImpl->mbPushButton = sal_False; // sal_True: PushButton is the base class
- mpWindowImpl->mbToolBox = sal_False; // sal_True: ToolBox is the base class
- mpWindowImpl->mbMenuFloatingWindow= sal_False; // sal_True: MenuFloatingWindow is the base class
- mpWindowImpl->mbToolbarFloatingWindow= sal_False; // sal_True: ImplPopupFloatWin is the base class, used for subtoolbars
- mpWindowImpl->mbSplitter = sal_False; // sal_True: Splitter is the base class
- mpWindowImpl->mbVisible = sal_False; // sal_True: Show( sal_True ) called
- mpWindowImpl->mbOverlapVisible = sal_False; // sal_True: Hide called for visible window from ImplHideAllOverlapWindow()
- mpWindowImpl->mbDisabled = sal_False; // sal_True: Enable( sal_False ) called
- mpWindowImpl->mbInputDisabled = sal_False; // sal_True: EnableInput( sal_False ) called
- mpWindowImpl->mbDropDisabled = sal_False; // sal_True: Drop is enabled
- mpWindowImpl->mbNoUpdate = sal_False; // sal_True: SetUpdateMode( sal_False ) called
- mpWindowImpl->mbNoParentUpdate = sal_False; // sal_True: SetParentUpdateMode( sal_False ) called
- mpWindowImpl->mbActive = sal_False; // sal_True: Window Active
- mpWindowImpl->mbParentActive = sal_False; // sal_True: OverlapActive from Parent
- mpWindowImpl->mbReallyVisible = sal_False; // sal_True: this and all parents to an overlaped window are visible
- mpWindowImpl->mbReallyShown = sal_False; // sal_True: this and all parents to an overlaped window are shown
- mpWindowImpl->mbInInitShow = sal_False; // sal_True: we are in InitShow
- mpWindowImpl->mbChildNotify = sal_False; // sal_True: ChildNotify
- mpWindowImpl->mbChildPtrOverwrite = sal_False; // sal_True: PointerStyle overwrites Child-Pointer
- mpWindowImpl->mbNoPtrVisible = sal_False; // sal_True: ShowPointer( sal_False ) called
- mpWindowImpl->mbMouseMove = sal_False; // sal_True: BaseMouseMove called
- mpWindowImpl->mbPaintFrame = sal_False; // sal_True: Paint is visible, but not painted
- mpWindowImpl->mbInPaint = sal_False; // sal_True: Inside PaintHdl
- mpWindowImpl->mbMouseButtonDown = sal_False; // sal_True: BaseMouseButtonDown called
- mpWindowImpl->mbMouseButtonUp = sal_False; // sal_True: BaseMouseButtonUp called
- mpWindowImpl->mbKeyInput = sal_False; // sal_True: BaseKeyInput called
- mpWindowImpl->mbKeyUp = sal_False; // sal_True: BaseKeyUp called
- mpWindowImpl->mbCommand = sal_False; // sal_True: BaseCommand called
- mpWindowImpl->mbDefPos = sal_True; // sal_True: Position is not Set
- mpWindowImpl->mbDefSize = sal_True; // sal_True: Size is not Set
- mpWindowImpl->mbCallMove = sal_True; // sal_True: Move must be called by Show
- mpWindowImpl->mbCallResize = sal_True; // sal_True: Resize must be called by Show
- mpWindowImpl->mbWaitSystemResize = sal_True; // sal_True: Wait for System-Resize
- mpWindowImpl->mbInitWinClipRegion = sal_True; // sal_True: Calc Window Clip Region
- mpWindowImpl->mbInitChildRegion = sal_False; // sal_True: InitChildClipRegion
- mpWindowImpl->mbWinRegion = sal_False; // sal_True: Window Region
- mpWindowImpl->mbClipChildren = sal_False; // sal_True: Child-window should be clipped
- mpWindowImpl->mbClipSiblings = sal_False; // sal_True: Adjacent Child-window should be clipped
- mpWindowImpl->mbChildTransparent = sal_False; // sal_True: Child-windows are allowed to switch to transparent (incl. Parent-CLIPCHILDREN)
- mpWindowImpl->mbPaintTransparent = sal_False; // sal_True: Paints should be executed on the Parent
- mpWindowImpl->mbMouseTransparent = sal_False; // sal_True: Window is transparent for Mouse
- mpWindowImpl->mbDlgCtrlStart = sal_False; // sal_True: From here on own Dialog-Control
- mpWindowImpl->mbFocusVisible = sal_False; // sal_True: Focus Visible
- mpWindowImpl->mbUseNativeFocus = sal_False;
- mpWindowImpl->mbNativeFocusVisible= sal_False; // sal_True: native Focus Visible
- mpWindowImpl->mbInShowFocus = sal_False; // prevent recursion
- mpWindowImpl->mbInHideFocus = sal_False; // prevent recursion
- mpWindowImpl->mbTrackVisible = sal_False; // sal_True: Tracking Visible
- mpWindowImpl->mbControlForeground = sal_False; // sal_True: Foreground-Property set
- mpWindowImpl->mbControlBackground = sal_False; // sal_True: Background-Property set
- mpWindowImpl->mbAlwaysOnTop = sal_False; // sal_True: always visible for all others windows
- mpWindowImpl->mbCompoundControl = sal_False; // sal_True: Composite Control => Listener...
- mpWindowImpl->mbCompoundControlHasFocus = sal_False; // sal_True: Composite Control has focus somewhere
- mpWindowImpl->mbPaintDisabled = sal_False; // sal_True: Paint should not be executed
- mpWindowImpl->mbAllResize = sal_False; // sal_True: Also sent ResizeEvents with 0,0
- mpWindowImpl->mbInDtor = sal_False; // sal_True: We're still in Window-Dtor
- mpWindowImpl->mbExtTextInput = sal_False; // sal_True: ExtTextInput-Mode is active
- mpWindowImpl->mbInFocusHdl = sal_False; // sal_True: Within GetFocus-Handler
- mpWindowImpl->mbCreatedWithToolkit = sal_False;
- mpWindowImpl->mbSuppressAccessibilityEvents = sal_False; // sal_True: do not send any accessibility events
- mpWindowImpl->mbDrawSelectionBackground = sal_False; // sal_True: draws transparent window background to indicate (toolbox) selection
- mpWindowImpl->mbIsInTaskPaneList = sal_False; // sal_True: window was added to the taskpanelist in the topmost system window
- mpWindowImpl->mnNativeBackground = 0; // initialize later, depends on type
- mpWindowImpl->mbCallHandlersDuringInputDisabled = sal_False; // sal_True: call event handlers even if input is disabled
- mpWindowImpl->mbHelpTextDynamic = sal_False; // sal_True: append help id in HELP_DEBUG case
- mpWindowImpl->mbFakeFocusSet = sal_False; // sal_True: pretend as if the window has focus.
- mpWindowImpl->mbHexpand = false;
- mpWindowImpl->mbVexpand = false;
- mpWindowImpl->mbExpand = false;
- mpWindowImpl->mbFill = true;
- mpWindowImpl->mbSecondary = false;
-
mbEnableRTL = Application::GetSettings().GetLayoutRTL(); // sal_True: this outdev will be mirrored if RTL window layout (UI mirroring) is globally active
}
@@ -4601,10 +4603,10 @@ Window::~Window()
Application::RemoveUserEvent( mpWindowImpl->mpFrameData->mnMouseMoveId );
}
- // release Graphic
+ // release SalGraphics
ImplReleaseGraphics();
- // if appropriate announce the window has been deleted
+ // notify ImplDelData subscribers of this window about the window deletion
ImplDelData* pDelData = mpWindowImpl->mpFirstDel;
while ( pDelData )
{
@@ -4632,7 +4634,7 @@ Window::~Window()
}
}
- // delete extra window data
+ // cleanup Extra Window Data, TODO: add and use ImplWinData destructor
if ( mpWindowImpl->mpWinData )
{
if ( mpWindowImpl->mpWinData->mpExtOldText )
@@ -4649,14 +4651,11 @@ Window::~Window()
delete mpWindowImpl->mpWinData;
}
-
- // delete Overlap-Window data
+ // cleanup overlap related window data
if ( mpWindowImpl->mpOverlapData )
- {
delete mpWindowImpl->mpOverlapData;
- }
- // delete BorderWindow or Frame if required
+ // remove BorderWindow or Frame window data
if ( mpWindowImpl->mpBorderWindow )
delete mpWindowImpl->mpBorderWindow;
else if ( mpWindowImpl->mbFrame )
@@ -4675,12 +4674,6 @@ Window::~Window()
delete mpWindowImpl->mpFrameData;
}
- if ( mpWindowImpl->mpChildClipRegion )
- delete mpWindowImpl->mpChildClipRegion;
-
- delete mpWindowImpl->mpAccessibleInfos;
- delete mpWindowImpl->mpControlFont;
-
// should be the last statements
delete mpWindowImpl; mpWindowImpl = NULL;
}