diff options
author | Petr Mladek <pmladek@suse.cz> | 2013-05-01 13:05:06 +0200 |
---|---|---|
committer | Petr Mladek <pmladek@suse.cz> | 2013-05-01 13:05:06 +0200 |
commit | 93e11e4fb697aaea63c99308f980e4c932bd1efa (patch) | |
tree | 1892e49932d8d7b7656ae504113a40e4e39f876f /vcl | |
parent | a5b6a379a2d628040db98060c2adfe8f2fac5607 (diff) | |
parent | c6786add5a58268e11aa027c47054344040db1bc (diff) |
Merge tag 'libreoffice-4.0.3.2' into suse-4.0
Tag libreoffice-4.0.3.2
Conflicts:
basic/qa/cppunit/test_vba.cxx
basic/source/runtime/step2.cxx
dictionaries
helpcontent2
instsetoo_native/util/openoffice.lst
libvisio/UnpackedTarball_visio.mk
sc/source/ui/vba/vbaapplication.cxx
sc/source/ui/vba/vbavalidation.cxx
solenv/inc/minor.mk
sw/qa/extras/ooxmlimport/ooxmlimport.cxx
translations
Change-Id: Ic1f06489175f3db92d6bbcebb9732fadc1c61fed
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/Library_vcl.mk | 1 | ||||
-rw-r--r-- | vcl/Package_inc.mk | 1 | ||||
-rw-r--r-- | vcl/aqua/source/gdi/salvd.cxx | 18 | ||||
-rw-r--r-- | vcl/aqua/source/window/salframe.cxx | 7 | ||||
-rw-r--r-- | vcl/headless/svpframe.cxx | 4 | ||||
-rw-r--r-- | vcl/inc/aqua/salframe.h | 1 | ||||
-rw-r--r-- | vcl/inc/headless/svpframe.hxx | 7 | ||||
-rw-r--r-- | vcl/inc/salframe.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/unx/gtk/gtkframe.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/unx/saldisp.hxx | 2 | ||||
-rw-r--r-- | vcl/inc/unx/salframe.h | 1 | ||||
-rw-r--r-- | vcl/inc/vcl/sound.hxx | 39 | ||||
-rw-r--r-- | vcl/inc/win/salframe.h | 1 | ||||
-rw-r--r-- | vcl/source/app/sound.cxx | 40 | ||||
-rw-r--r-- | vcl/source/control/tabctrl.cxx | 3 | ||||
-rw-r--r-- | vcl/source/gdi/outdev6.cxx | 3 | ||||
-rw-r--r-- | vcl/source/window/dlgctrl.cxx | 46 | ||||
-rw-r--r-- | vcl/source/window/tabpage.cxx | 2 | ||||
-rw-r--r-- | vcl/unx/generic/app/saldisp.cxx | 6 | ||||
-rw-r--r-- | vcl/unx/generic/window/salframe.cxx | 6 | ||||
-rw-r--r-- | vcl/unx/gtk/app/gtksys.cxx | 12 | ||||
-rw-r--r-- | vcl/unx/gtk/window/gtkframe.cxx | 16 | ||||
-rw-r--r-- | vcl/win/source/window/salframe.cxx | 8 |
23 files changed, 185 insertions, 43 deletions
diff --git a/vcl/Library_vcl.mk b/vcl/Library_vcl.mk index a05e39bf0b42..8f12d2c0cd9f 100644 --- a/vcl/Library_vcl.mk +++ b/vcl/Library_vcl.mk @@ -117,6 +117,7 @@ $(eval $(call gb_Library_add_exception_objects,vcl,\ vcl/source/app/session \ vcl/source/app/settings \ vcl/source/app/solarmutex \ + vcl/source/app/sound \ vcl/source/app/stdtext \ vcl/source/app/svapp \ vcl/source/app/svdata \ diff --git a/vcl/Package_inc.mk b/vcl/Package_inc.mk index 53a7326279b1..48d996d443e2 100644 --- a/vcl/Package_inc.mk +++ b/vcl/Package_inc.mk @@ -126,6 +126,7 @@ $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/seleng.hxx,vcl/seleng.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/settings.hxx,vcl/settings.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/slider.hxx,vcl/slider.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/solarmutex.hxx,vcl/solarmutex.hxx)) +$(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/sound.hxx,vcl/sound.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/spinfld.hxx,vcl/spinfld.hxx)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/spin.h,vcl/spin.h)) $(eval $(call gb_Package_add_file,vcl_inc,inc/vcl/spin.hxx,vcl/spin.hxx)) diff --git a/vcl/aqua/source/gdi/salvd.cxx b/vcl/aqua/source/gdi/salvd.cxx index 9696b9a83651..b129f06370d1 100644 --- a/vcl/aqua/source/gdi/salvd.cxx +++ b/vcl/aqua/source/gdi/salvd.cxx @@ -184,8 +184,22 @@ sal_Bool AquaSalVirtualDevice::SetSize( long nDX, long nDY ) { // default to a NSView target context AquaSalFrame* pSalFrame = mpGraphics->getGraphicsFrame(); - if( !pSalFrame && !GetSalData()->maFrames.empty() ) - pSalFrame = *GetSalData()->maFrames.begin(); + if( !pSalFrame || !AquaSalFrame::isAlive( pSalFrame )) + { + if( !GetSalData()->maFrames.empty() ) + { + // get the first matching frame + pSalFrame = *GetSalData()->maFrames.begin(); + } + else + { + // ensure we don't reuse a dead AquaSalFrame on the very + // unlikely case of no other frame to use + pSalFrame = NULL; + } + // update the frame reference + mpGraphics->setGraphicsFrame( pSalFrame ); + } if( pSalFrame ) { // #i91990# diff --git a/vcl/aqua/source/window/salframe.cxx b/vcl/aqua/source/window/salframe.cxx index d2e616c920da..12cbb916fefc 100644 --- a/vcl/aqua/source/window/salframe.cxx +++ b/vcl/aqua/source/window/salframe.cxx @@ -1339,6 +1339,13 @@ const SystemEnvData* AquaSalFrame::GetSystemData() const // ----------------------------------------------------------------------- +void AquaSalFrame::Beep() +{ + NSBeep(); +} + +// ----------------------------------------------------------------------- + void AquaSalFrame::SetPosSize(long nX, long nY, long nWidth, long nHeight, sal_uInt16 nFlags) { if ( !mpWindow ) diff --git a/vcl/headless/svpframe.cxx b/vcl/headless/svpframe.cxx index 0d4e4660f197..5827d51c88a1 100644 --- a/vcl/headless/svpframe.cxx +++ b/vcl/headless/svpframe.cxx @@ -419,6 +419,10 @@ void SvpSalFrame::UpdateSettings( AllSettings& ) { } +void SvpSalFrame::Beep() +{ +} + const SystemEnvData* SvpSalFrame::GetSystemData() const { return &m_aSystemChildData; diff --git a/vcl/inc/aqua/salframe.h b/vcl/inc/aqua/salframe.h index e6dcde37cf75..39d9496a9fe0 100644 --- a/vcl/inc/aqua/salframe.h +++ b/vcl/inc/aqua/salframe.h @@ -138,6 +138,7 @@ public: virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode ); virtual LanguageType GetInputLanguage(); virtual void UpdateSettings( AllSettings& rSettings ); + virtual void Beep(); virtual const SystemEnvData* GetSystemData() const; virtual SalPointerState GetPointerState(); virtual SalIndicatorState GetIndicatorState(); diff --git a/vcl/inc/headless/svpframe.hxx b/vcl/inc/headless/svpframe.hxx index c48d602176b5..887e182deda4 100644 --- a/vcl/inc/headless/svpframe.hxx +++ b/vcl/inc/headless/svpframe.hxx @@ -102,11 +102,12 @@ public: virtual void Sync(); virtual void SetInputContext( SalInputContext* pContext ); virtual void EndExtTextInput( sal_uInt16 nFlags ); - virtual rtl::OUString GetKeyName( sal_uInt16 nKeyCode ); - virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode ); + virtual rtl::OUString GetKeyName( sal_uInt16 nKeyCode ); + virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode ); virtual LanguageType GetInputLanguage(); virtual void UpdateSettings( AllSettings& rSettings ); - virtual const SystemEnvData* GetSystemData() const; + virtual void Beep(); + virtual const SystemEnvData* GetSystemData() const; virtual SalPointerState GetPointerState(); virtual SalIndicatorState GetIndicatorState(); virtual void SimulateKeyPress( sal_uInt16 nKeyCode ); diff --git a/vcl/inc/salframe.hxx b/vcl/inc/salframe.hxx index 63096e0e2a40..afc84203f82b 100644 --- a/vcl/inc/salframe.hxx +++ b/vcl/inc/salframe.hxx @@ -205,6 +205,8 @@ public: virtual void UpdateSettings( AllSettings& rSettings ) = 0; + virtual void Beep() = 0; + // returns system data (most prominent: window handle) virtual const SystemEnvData* GetSystemData() const = 0; diff --git a/vcl/inc/unx/gtk/gtkframe.hxx b/vcl/inc/unx/gtk/gtkframe.hxx index a33a5584eb7a..45bee2d07b87 100644 --- a/vcl/inc/unx/gtk/gtkframe.hxx +++ b/vcl/inc/unx/gtk/gtkframe.hxx @@ -402,6 +402,8 @@ public: virtual void UpdateSettings( AllSettings& rSettings ); + virtual void Beep(); + // returns system data (most prominent: window handle) virtual const SystemEnvData* GetSystemData() const; diff --git a/vcl/inc/unx/saldisp.hxx b/vcl/inc/unx/saldisp.hxx index d5e62409b664..711c735f9c8f 100644 --- a/vcl/inc/unx/saldisp.hxx +++ b/vcl/inc/unx/saldisp.hxx @@ -316,6 +316,8 @@ public: void DbgPrintDisplayEvent(const char *pComment, XEvent *pEvent) const; #endif + void Beep() const; + void ModifierMapping(); void SimulateKeyPress( sal_uInt16 nKeyCode ); sal_uInt16 GetIndicatorState() const; diff --git a/vcl/inc/unx/salframe.h b/vcl/inc/unx/salframe.h index c6a8cc30d100..75a37c12ed82 100644 --- a/vcl/inc/unx/salframe.h +++ b/vcl/inc/unx/salframe.h @@ -241,6 +241,7 @@ public: virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode ); virtual LanguageType GetInputLanguage(); virtual void UpdateSettings( AllSettings& rSettings ); + virtual void Beep(); virtual const SystemEnvData* GetSystemData() const; virtual SalPointerState GetPointerState(); virtual SalIndicatorState GetIndicatorState(); diff --git a/vcl/inc/vcl/sound.hxx b/vcl/inc/vcl/sound.hxx new file mode 100644 index 000000000000..7be53a0944ee --- /dev/null +++ b/vcl/inc/vcl/sound.hxx @@ -0,0 +1,39 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _SV_SOUND_HXX +#define _SV_SOUND_HXX + +#include <vcl/dllapi.h> + +class Window; + +// --------- +// - Sound - +// --------- + +class VCL_DLLPUBLIC Sound +{ +public: + static void Beep( Window* pWindow = NULL ); +}; + +#endif // _SV_SOUND_HXX + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/inc/win/salframe.h b/vcl/inc/win/salframe.h index 54e10bd59d5b..2a622195f37d 100644 --- a/vcl/inc/win/salframe.h +++ b/vcl/inc/win/salframe.h @@ -121,6 +121,7 @@ public: virtual sal_Bool MapUnicodeToKeyCode( sal_Unicode aUnicode, LanguageType aLangType, KeyCode& rKeyCode ); virtual LanguageType GetInputLanguage(); virtual void UpdateSettings( AllSettings& rSettings ); + virtual void Beep(); virtual const SystemEnvData* GetSystemData() const; virtual SalPointerState GetPointerState(); virtual SalIndicatorState GetIndicatorState(); diff --git a/vcl/source/app/sound.cxx b/vcl/source/app/sound.cxx new file mode 100644 index 000000000000..308f37f8c57f --- /dev/null +++ b/vcl/source/app/sound.cxx @@ -0,0 +1,40 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + + +#include <vcl/svapp.hxx> +#include <vcl/window.hxx> +#include <vcl/sound.hxx> + +#include <salframe.hxx> +#include <svdata.hxx> + +void Sound::Beep( Window* pWindow ) +{ + // #i91990# + if ( Application::IsHeadlessModeEnabled() ) + return; + + if ( !pWindow ) + pWindow = ImplGetDefaultWindow(); + + pWindow->ImplGetFrame()->Beep(); +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/source/control/tabctrl.cxx b/vcl/source/control/tabctrl.cxx index 4e1afc25e29c..19163f170f2a 100644 --- a/vcl/source/control/tabctrl.cxx +++ b/vcl/source/control/tabctrl.cxx @@ -29,6 +29,7 @@ #include "vcl/tabpage.hxx" #include "vcl/tabctrl.hxx" #include "vcl/controllayout.hxx" +#include "vcl/layout.hxx" #include "vcl/lstbox.hxx" #include "controldata.hxx" @@ -2179,7 +2180,7 @@ Size TabControl::calculateRequisition() const if (!pPage) continue; - Size aPageSize(pPage->GetOptimalSize(WINDOWSIZE_PREFERRED)); + Size aPageSize(VclContainer::getLayoutRequisition(*pPage)); if (aPageSize.Width() > aOptimalPageSize.Width()) aOptimalPageSize.Width() = aPageSize.Width(); diff --git a/vcl/source/gdi/outdev6.cxx b/vcl/source/gdi/outdev6.cxx index 46eb689356ff..85f6ce5f70da 100644 --- a/vcl/source/gdi/outdev6.cxx +++ b/vcl/source/gdi/outdev6.cxx @@ -614,6 +614,9 @@ void OutputDevice::DrawTransparent( const GDIMetaFile& rMtf, const Point& rPos, if( mpMetaFile ) mpMetaFile->AddAction( new MetaFloatTransparentAction( rMtf, rPos, rSize, rTransparenceGradient ) ); + if ( !IsDeviceOutputNecessary() ) + return; + if( ( rTransparenceGradient.GetStartColor() == aBlack && rTransparenceGradient.GetEndColor() == aBlack ) || ( mnDrawMode & ( DRAWMODE_NOTRANSPARENCY ) ) ) { diff --git a/vcl/source/window/dlgctrl.cxx b/vcl/source/window/dlgctrl.cxx index 6c481da574a6..e6c1ddd8d0ab 100644 --- a/vcl/source/window/dlgctrl.cxx +++ b/vcl/source/window/dlgctrl.cxx @@ -533,39 +533,14 @@ namespace return (pWindow && isVisibleInLayout(pWindow) && isEnabledInLayout(pWindow) && pWindow->IsInputEnabled()); } - bool backInGroup(std::vector<RadioButton*>::reverse_iterator aRevStart, std::vector<RadioButton*> &rGroup) + bool focusNextInGroup(std::vector<RadioButton*>::iterator aStart, std::vector<RadioButton*> &rGroup) { - std::vector<RadioButton*>::reverse_iterator aI(aRevStart); - while (aI != rGroup.rend()) - { - Window *pWindow = *aI; - - if (isSuitableDestination(pWindow)) - { - pWindow->ImplControlFocus( GETFOCUS_CURSOR | GETFOCUS_BACKWARD ); - return true; - } - } - - aI = rGroup.rbegin(); - while (aI != aRevStart) - { - Window *pWindow = *aI; - - if (isSuitableDestination(pWindow)) - { - pWindow->ImplControlFocus( GETFOCUS_CURSOR | GETFOCUS_BACKWARD ); - return true; - } - } + std::vector<RadioButton*>::iterator aI(aStart); - return false; - } + if (aStart != rGroup.end()) + ++aI; - bool forwardInGroup(std::vector<RadioButton*>::iterator aStart, std::vector<RadioButton*> &rGroup) - { - std::vector<RadioButton*>::iterator aI(aStart); - while (++aI != rGroup.end()) + for (; aI != rGroup.end(); ++aI) { Window *pWindow = *aI; @@ -576,8 +551,7 @@ namespace } } - aI = rGroup.begin(); - while (aI != aStart) + for (aI = rGroup.begin(); aI != aStart; ++aI) { Window *pWindow = *aI; @@ -598,14 +572,14 @@ namespace if (aGroup.size() == 1) //only one button in group return false; + if (bBackward) + std::reverse(aGroup.begin(), aGroup.end()); + std::vector<RadioButton*>::iterator aStart(std::find(aGroup.begin(), aGroup.end(), pSourceWindow)); assert(aStart != aGroup.end()); - if (bBackward) - return backInGroup(std::vector<RadioButton*>::reverse_iterator(aStart), aGroup); - else - return forwardInGroup(aStart, aGroup); + return focusNextInGroup(aStart, aGroup); } } diff --git a/vcl/source/window/tabpage.cxx b/vcl/source/window/tabpage.cxx index 3546c4f15508..d3b1f34d5813 100644 --- a/vcl/source/window/tabpage.cxx +++ b/vcl/source/window/tabpage.cxx @@ -222,7 +222,7 @@ Size TabPage::GetOptimalSize(WindowSizeType eType) const return Window::GetOptimalSize(eType); Size aSize; if (isLayoutEnabled()) - aSize = GetWindow(WINDOW_FIRSTCHILD)->GetOptimalSize(eType); + aSize = VclContainer::getLayoutRequisition(*GetWindow(WINDOW_FIRSTCHILD)); else aSize = getLegacyBestSizeForChildren(*this); return Window::CalcWindowSize(aSize); diff --git a/vcl/unx/generic/app/saldisp.cxx b/vcl/unx/generic/app/saldisp.cxx index 725bd19f1d9f..c6719da4fb24 100644 --- a/vcl/unx/generic/app/saldisp.cxx +++ b/vcl/unx/generic/app/saldisp.cxx @@ -664,6 +664,12 @@ void SalX11Display::SetupInput( SalI18N_InputMethod *pInputMethod ) SetKbdExtension( pKbdExtension ); } +// Sound +void SalDisplay::Beep() const +{ + XBell( pDisp_, 100 ); +} + // Keyboard // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= diff --git a/vcl/unx/generic/window/salframe.cxx b/vcl/unx/generic/window/salframe.cxx index 67ce56e08992..455c57a797b2 100644 --- a/vcl/unx/generic/window/salframe.cxx +++ b/vcl/unx/generic/window/salframe.cxx @@ -2586,6 +2586,12 @@ bool X11SalFrame::SetPluginParent( SystemParentData* pNewParent ) return true; } +// Sound +void X11SalFrame::Beep() +{ + GetDisplay()->Beep(); +} + // Event Handling // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= static sal_uInt16 sal_GetCode( int state ) diff --git a/vcl/unx/gtk/app/gtksys.cxx b/vcl/unx/gtk/app/gtksys.cxx index 48bc239fd8b7..6ff6e4afc1b7 100644 --- a/vcl/unx/gtk/app/gtksys.cxx +++ b/vcl/unx/gtk/app/gtksys.cxx @@ -69,6 +69,13 @@ struct GdkRectangleEqual } +/** + * GtkSalSystem::countScreenMonitors() + * + * This method builds the vector which allows us to map from VCL's + * idea of linear integer ScreenNumber to to gtk+'s rather more + * complicated screen + monitor concept. + */ void GtkSalSystem::countScreenMonitors() { @@ -133,6 +140,11 @@ GtkSalSystem::getScreenMonitorFromIdx (int nIdx, gint &nMonitor) break; } nMonitor = nIdx; + + // handle invalid monitor indexes as non-existent screens + if (nMonitor < 0 || (pScreen && nMonitor >= gdk_screen_get_n_monitors (pScreen))) + pScreen = NULL; + return pScreen; } diff --git a/vcl/unx/gtk/window/gtkframe.cxx b/vcl/unx/gtk/window/gtkframe.cxx index 398ece4c300a..61d3f7852d07 100644 --- a/vcl/unx/gtk/window/gtkframe.cxx +++ b/vcl/unx/gtk/window/gtkframe.cxx @@ -2059,7 +2059,15 @@ void GtkSalFrame::SetScreen( unsigned int nNewScreen, int eType, Rectangle *pSiz return; gint nMonitor; + bool bSameMonitor = false; GdkScreen *pScreen = getDisplay()->getSystem()->getScreenMonitorFromIdx( nNewScreen, nMonitor ); + if (!pScreen) + { + g_warning ("Attempt to move GtkSalFrame to invalid screen %d => " + "fallback to current\n", nNewScreen); + pScreen = gtk_widget_get_screen( m_pWindow ); + bSameMonitor = true; + } // Heavy lifting, need to move screen ... if( pScreen != gtk_widget_get_screen( m_pWindow )) @@ -2067,6 +2075,9 @@ void GtkSalFrame::SetScreen( unsigned int nNewScreen, int eType, Rectangle *pSiz gint nOldMonitor = gdk_screen_get_monitor_at_window( pScreen, widget_get_window( m_pWindow ) ); + if (bSameMonitor) + nMonitor = nOldMonitor; + #if OSL_DEBUG_LEVEL > 1 if( nMonitor == nOldMonitor ) g_warning( "An apparently pointless SetScreen - should we elide it ?" ); @@ -2673,6 +2684,11 @@ void GtkSalFrame::UpdateSettings( AllSettings& rSettings ) ReleaseGraphics( pGraphics ); } +void GtkSalFrame::Beep() +{ + gdk_display_beep( getGdkDisplay() ); +} + const SystemEnvData* GtkSalFrame::GetSystemData() const { return &m_aSystemData; diff --git a/vcl/win/source/window/salframe.cxx b/vcl/win/source/window/salframe.cxx index 411d87a10943..1138ebde6734 100644 --- a/vcl/win/source/window/salframe.cxx +++ b/vcl/win/source/window/salframe.cxx @@ -2955,6 +2955,14 @@ const SystemEnvData* WinSalFrame::GetSystemData() const // ----------------------------------------------------------------------- +void WinSalFrame::Beep() +{ + // a simple beep + MessageBeep( 0 ); +} + +// ----------------------------------------------------------------------- + SalFrame::SalPointerState WinSalFrame::GetPointerState() { SalPointerState aState; |