[Libreoffice-commits] .: vcl/inc vcl/source
Michael Meeks
mmeeks at kemper.freedesktop.org
Tue Oct 12 07:42:04 PDT 2010
vcl/inc/vcl/svapp.hxx | 1 +
vcl/source/app/svapp.cxx | 5 +++++
vcl/source/window/window.cxx | 31 ++++++++++++++++++++-----------
3 files changed, 26 insertions(+), 11 deletions(-)
New commits:
commit a961c948e59af15c07f09c844d35e01c693e6875
Author: Jan Holesovsky <kendy at suse.cz>
Date: Tue Oct 12 15:31:05 2010 +0100
Implement hooks for unix quickstarter
diff --git a/vcl/inc/vcl/svapp.hxx b/vcl/inc/vcl/svapp.hxx
index d12ff0d..ed6ce0a 100644
--- a/vcl/inc/vcl/svapp.hxx
+++ b/vcl/inc/vcl/svapp.hxx
@@ -261,6 +261,7 @@ public:
virtual void DataChanged( const DataChangedEvent& rDCEvt );
virtual void Init();
+ virtual void InitFinished();
virtual void DeInit();
static void InitAppRes( const ResId& rResId );
diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx
index c87aca5..056c5c2 100644
--- a/vcl/source/app/svapp.cxx
+++ b/vcl/source/app/svapp.cxx
@@ -312,6 +312,11 @@ void Application::Init()
}
// -----------------------------------------------------------------------
+void Application::InitFinished()
+{
+}
+
+// -----------------------------------------------------------------------
void Application::DeInit()
{
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 6797bc3..38f48fe 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -633,10 +633,10 @@ void Window::ImplInitWindowData( WindowType nType )
mpWindowImpl->mbDockWin = FALSE; // TRUE: DockingWindow is the base class
mpWindowImpl->mbFloatWin = FALSE; // TRUE: FloatingWindow is the base class
mpWindowImpl->mbPushButton = FALSE; // TRUE: PushButton is the base class
- mpWindowImpl->mbToolBox = FALSE; // TRUE: ToolBox is the base class
- mpWindowImpl->mbMenuFloatingWindow= FALSE; // TRUE: MenuFloatingWindow is the base class
- mpWindowImpl->mbToolbarFloatingWindow= FALSE; // TRUE: ImplPopupFloatWin is the base class, used for subtoolbars
- mpWindowImpl->mbSplitter = FALSE; // TRUE: Splitter is the base class
+ mpWindowImpl->mbToolBox = FALSE; // TRUE: ToolBox is the base class
+ mpWindowImpl->mbMenuFloatingWindow= FALSE; // TRUE: MenuFloatingWindow is the base class
+ mpWindowImpl->mbToolbarFloatingWindow= FALSE; // TRUE: ImplPopupFloatWin is the base class, used for subtoolbars
+ mpWindowImpl->mbSplitter = FALSE; // TRUE: Splitter is the base class
mpWindowImpl->mbVisible = FALSE; // TRUE: Show( true ) called
mpWindowImpl->mbOverlapVisible = FALSE; // TRUE: Hide called for visible window from ImplHideAllOverlapWindow()
mpWindowImpl->mbDisabled = FALSE; // TRUE: Enable( FALSE ) called
@@ -1315,7 +1315,7 @@ ImplWinData* Window::ImplGetWinData() const
mpWindowImpl->mpWinData->mpFocusRect = NULL;
mpWindowImpl->mpWinData->mpTrackRect = NULL;
mpWindowImpl->mpWinData->mnTrackFlags = 0;
- mpWindowImpl->mpWinData->mnIsTopWindow = (USHORT) ~0; // not initialized yet, 0/1 will indicate TopWindow (see IsTopWindow())
+ mpWindowImpl->mpWinData->mnIsTopWindow = (USHORT) ~0; // not initialized yet, 0/1 will indicate TopWindow (see IsTopWindow())
mpWindowImpl->mpWinData->mbMouseOver = FALSE;
mpWindowImpl->mpWinData->mbEnableNativeWidget = (pNoNWF && *pNoNWF) ? FALSE : TRUE; // TRUE: try to draw this control with native theme API
mpWindowImpl->mpWinData->mpSmartHelpId = NULL;
@@ -3291,7 +3291,7 @@ void Window::ImplPosSizeWindow( long nX, long nY,
}
mpWindowImpl->mnX = nX;
mpWindowImpl->maPos.X() = nOrgX;
- mpWindowImpl->mnAbsScreenX = aPtDev.X(); // --- RTL --- (store real screen pos)
+ mpWindowImpl->mnAbsScreenX = aPtDev.X(); // --- RTL --- (store real screen pos)
bNewPos = TRUE;
}
}
@@ -6585,10 +6585,19 @@ void Window::Show( BOOL bVisible, USHORT nFlags )
mpWindowImpl->mpBorderWindow->Show( true, nFlags );
else if ( mpWindowImpl->mbFrame )
{
- ImplSVData* pSVData = ImplGetSVData();
// #106431#, hide SplashScreen
- if( pSVData->mpIntroWindow && !ImplIsWindowOrChild( pSVData->mpIntroWindow ) )
+ ImplSVData* pSVData = ImplGetSVData();
+ if ( !pSVData->mpIntroWindow )
+ {
+ // The right way would be just to call this (not even in the 'if')
+ GetpApp()->InitFinished();
+ }
+ else if ( !ImplIsWindowOrChild( pSVData->mpIntroWindow ) )
+ {
+ // ... but the VCL splash is broken, and it needs this
+ // (for ./soffice slot:5500)
pSVData->mpIntroWindow->Hide();
+ }
//DBG_ASSERT( !mpWindowImpl->mbSuppressAccessibilityEvents, "Window::Show() - Frame reactivated");
mpWindowImpl->mbSuppressAccessibilityEvents = FALSE;
@@ -8717,8 +8726,8 @@ Reference< XClipboard > Window::GetPrimarySelection()
mpWindowImpl->mpFrameData->mxSelection = Reference< XClipboard >( xFactory->createInstanceWithArguments(
OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.SystemClipboard" ), aArgumentList ), UNO_QUERY );
-# else
- static Reference< XClipboard > s_xSelection;
+# else
+ static Reference< XClipboard > s_xSelection;
if ( !s_xSelection.is() )
s_xSelection = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.GenericClipboardExt" ) ), UNO_QUERY );
@@ -8727,7 +8736,7 @@ Reference< XClipboard > Window::GetPrimarySelection()
s_xSelection = Reference< XClipboard >( xFactory->createInstance( OUString::createFromAscii( "com.sun.star.datatransfer.clipboard.GenericClipboard" ) ), UNO_QUERY );
mpWindowImpl->mpFrameData->mxSelection = s_xSelection;
-# endif
+# endif
}
}
More information about the Libreoffice-commits
mailing list