vcl/inc/window.h             |    2 
 vcl/source/window/window.cxx |  321 +++++++++++++++++++++----------------------
 2 files changed, 158 insertions(+), 165 deletions(-)

New commits:
commit 3ce89a2149d3495ff63827b39c33a79cb9abacab
Author: Herbert Dürr <h...@apache.org>
Date:   Mon Jun 18 12:05:35 2012 +0000

    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

diff --git a/vcl/inc/window.h b/vcl/inc/window.h
index 97401f2..725f5ad 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 7deb67c..53b349f 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;
 }
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to