summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Thiebaud <nthiebaud@gmail.com>2014-06-29 23:42:32 +0200
committerMichael Meeks <michael.meeks@collabora.com>2014-06-30 14:59:09 +0100
commit752a36457f6cddc5265a2d5f60157fd625f56b02 (patch)
treed6cebea7f8f1a9f9c40e3a0ffec38f719b018fcb
parenta7540d9f59a172b81f075890f1835b21ec6ab7b3 (diff)
use VCL_HIDE_WINDOWS env on Mac to 'simulate' headless mode on Mac
Building, and running the unit/subsequent test on Mac cause massive amount of flashing windows creation/destruction that make building with test very annoying on a box used for other purposes. This patch prevent the windows to be actually displayed hence mitigating the problem Signed-off-by: Michael Meeks <michael.meeks@collabora.com> Conflicts: vcl/source/window/window.cxx Change-Id: Ied2a36699b50856e0c4e6b618212481796ec99d3
-rw-r--r--include/vcl/settings.hxx1
-rw-r--r--solenv/gbuild/platform/macosx.mk3
-rw-r--r--vcl/source/app/settings.cxx9
-rw-r--r--vcl/source/window/window.cxx7
4 files changed, 18 insertions, 2 deletions
diff --git a/include/vcl/settings.hxx b/include/vcl/settings.hxx
index 0a6c6e937188..021161f90324 100644
--- a/include/vcl/settings.hxx
+++ b/include/vcl/settings.hxx
@@ -588,6 +588,7 @@ public:
bool GetDisablePrinting() const;
void SetEnableLocalizedDecimalSep( bool bEnable );
bool GetEnableLocalizedDecimalSep() const;
+ bool GetPseudoHeadless() const;
bool operator ==( const MiscSettings& rSet ) const;
bool operator !=( const MiscSettings& rSet ) const;
diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk
index 8d6f8341ce01..a40e054f00ab 100644
--- a/solenv/gbuild/platform/macosx.mk
+++ b/solenv/gbuild/platform/macosx.mk
@@ -17,6 +17,9 @@
# the License at http://www.apache.org/licenses/LICENSE-2.0 .
#
+# to avoid flashing windows during tests
+export VCL_HIDE_WINDOWS=1
+
gb_SDKDIR := $(MACOSX_SDK_PATH)
include $(GBUILDDIR)/platform/com_GCC_defs.mk
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx
index 4174d5af59ae..97b05d04c855 100644
--- a/vcl/source/app/settings.cxx
+++ b/vcl/source/app/settings.cxx
@@ -213,6 +213,7 @@ struct ImplMiscData
TriState mnEnableATT;
bool mbEnableLocalizedDecimalSep;
TriState mnDisablePrinting;
+ bool mbPseudoHeadless;
};
struct ImplHelpData
@@ -2341,6 +2342,8 @@ ImplMiscData::ImplMiscData()
mnDisablePrinting = TRISTATE_INDET;
static const char* pEnv = getenv("SAL_DECIMALSEP_ENABLED" ); // set default without UI
mbEnableLocalizedDecimalSep = (pEnv != NULL);
+ pEnv = getenv("VCL_HIDE_WINDOWS"); // do not display any windows
+ mbPseudoHeadless = (pEnv != NULL);
}
ImplMiscData::ImplMiscData( const ImplMiscData& rData )
@@ -2348,6 +2351,7 @@ ImplMiscData::ImplMiscData( const ImplMiscData& rData )
mnEnableATT = rData.mnEnableATT;
mnDisablePrinting = rData.mnDisablePrinting;
mbEnableLocalizedDecimalSep = rData.mbEnableLocalizedDecimalSep;
+ mbPseudoHeadless = rData.mbPseudoHeadless;
}
MiscSettings::MiscSettings()
@@ -2535,6 +2539,11 @@ bool MiscSettings::GetEnableLocalizedDecimalSep() const
return mpData->mbEnableLocalizedDecimalSep;
}
+bool MiscSettings::GetPseudoHeadless() const
+{
+ return mpData->mbPseudoHeadless;
+}
+
ImplHelpData::ImplHelpData()
{
mnTipDelay = 500;
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index b77447c06a39..fff59e573720 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -5259,8 +5259,11 @@ void Window::Show( bool bVisible, sal_uInt16 nFlags )
mpWindowImpl->mbSuppressAccessibilityEvents = false;
mpWindowImpl->mbPaintFrame = true;
- bool bNoActivate = (nFlags & (SHOW_NOACTIVATE|SHOW_NOFOCUSCHANGE)) ? sal_True : sal_False;
- mpWindowImpl->mpFrame->Show( true, bNoActivate );
+ if (!Application::GetSettings().GetMiscSettings().GetPseudoHeadless())
+ {
+ bool bNoActivate = (nFlags & (SHOW_NOACTIVATE|SHOW_NOFOCUSCHANGE)) ? true : false;
+ mpWindowImpl->mpFrame->Show( true, bNoActivate );
+ }
if( aDogTag.IsDead() )
return;