diff options
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/app/help.cxx | 10 | ||||
-rw-r--r-- | vcl/source/control/ctrl.cxx | 10 | ||||
-rwxr-xr-x | vcl/source/window/window.cxx | 2 | ||||
-rwxr-xr-x | vcl/source/window/wrkwin.cxx | 2 |
4 files changed, 18 insertions, 6 deletions
diff --git a/vcl/source/app/help.cxx b/vcl/source/app/help.cxx index ce582916ea62..231b1df8e36c 100644 --- a/vcl/source/app/help.cxx +++ b/vcl/source/app/help.cxx @@ -277,6 +277,15 @@ sal_Bool Help::ShowQuickHelp( Window* pParent, // ----------------------------------------------------------------------- +void Help::HideBalloonAndQuickHelp() +{ + HelpTextWindow const * pHelpWin = ImplGetSVData()->maHelpData.mpHelpWin; + bool const bIsVisible = ( pHelpWin != NULL ) && pHelpWin->IsVisible(); + ImplDestroyHelpWindow( bIsVisible ); +} + +// ----------------------------------------------------------------------- + sal_uIntPtr Help::ShowTip( Window* pParent, const Rectangle& rScreenRect, const XubString& rText, sal_uInt16 nStyle ) { @@ -303,6 +312,7 @@ void Help::UpdateTip( sal_uIntPtr nId, Window* pParent, const Rectangle& rScreen pParent->OutputToScreenPixel( pParent->GetPointerPosPixel() ), &rScreenRect ); pHelpWin->SetHelpText( rText ); + pHelpWin->Invalidate(); } // ----------------------------------------------------------------------- diff --git a/vcl/source/control/ctrl.cxx b/vcl/source/control/ctrl.cxx index 26ef9b076d8c..dd887276ca5b 100644 --- a/vcl/source/control/ctrl.cxx +++ b/vcl/source/control/ctrl.cxx @@ -50,7 +50,7 @@ using namespace vcl; void Control::ImplInitControlData() { - mbHasFocus = sal_False; + mbHasControlFocus = sal_False; mpControlData = new ImplControlData; } @@ -304,9 +304,10 @@ long Control::Notify( NotifyEvent& rNEvt ) { if ( rNEvt.GetType() == EVENT_GETFOCUS ) { - if ( !mbHasFocus ) + if ( !mbHasControlFocus ) { - mbHasFocus = sal_True; + mbHasControlFocus = sal_True; + StateChanged( STATE_CHANGE_CONTROL_FOCUS ); if ( ImplCallEventListenersAndHandler( VCLEVENT_CONTROL_GETFOCUS, maGetFocusHdl, this ) ) // been destroyed within the handler return sal_True; @@ -319,7 +320,8 @@ long Control::Notify( NotifyEvent& rNEvt ) Window* pFocusWin = Application::GetFocusWindow(); if ( !pFocusWin || !ImplIsWindowOrChild( pFocusWin ) ) { - mbHasFocus = sal_False; + mbHasControlFocus = sal_False; + StateChanged( STATE_CHANGE_CONTROL_FOCUS ); if ( ImplCallEventListenersAndHandler( VCLEVENT_CONTROL_LOSEFOCUS, maLoseFocusHdl, this ) ) // been destroyed within the handler return sal_True; diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index ac7101f079c0..f22b97e8426a 100755 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -9784,7 +9784,7 @@ uno::Reference< rendering::XCanvas > Window::ImplGetCanvas( const Size& rFullscr OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.rendering.SpriteCanvas.MultiScreen" )) : OUString( RTL_CONSTASCII_USTRINGPARAM( - "com.sun.star.rendering.Canvas" )), + "com.sun.star.rendering.Canvas.MultiScreen" )), aArg ), UNO_QUERY ); diff --git a/vcl/source/window/wrkwin.cxx b/vcl/source/window/wrkwin.cxx index 0e667de73067..5c50652afbe5 100755 --- a/vcl/source/window/wrkwin.cxx +++ b/vcl/source/window/wrkwin.cxx @@ -181,7 +181,7 @@ void WorkWindow::ShowFullScreenMode( sal_Bool bFullScreenMode, sal_Int32 nDispla if ( !mbFullScreenMode == !bFullScreenMode ) return; - if( (nDisplay < 0) + if( (nDisplay < -1) || (nDisplay >= static_cast<sal_Int32>(Application::GetScreenCount()) ) ) { nDisplay = GetScreenNumber(); |