ooo-build r12513 - in trunk: . patches/dev300
- From: thorstenb svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r12513 - in trunk: . patches/dev300
- Date: Sat, 10 May 2008 16:58:32 +0100 (BST)
Author: thorstenb
Date: Sat May 10 15:58:31 2008
New Revision: 12513
URL: http://svn.gnome.org/viewvc/ooo-build?rev=12513&view=rev
Log:
* patches/dev300/sd-inplace-deselection-fix.diff: fixing the fact
that deselecting an activated inplace OLE object in draw/impress
ends up with a drag selection frame
* patches/dev300/vcl-disable-mouse-grab.diff: disabled patch,
useful if you need to disable X11 cursor grabbing in vcl (reacts
on an env var - should you, as /me on a laptop, not being able to
make use of AllowDeactivateGrabs)
Added:
trunk/patches/dev300/sd-inplace-deselection-fix.diff
trunk/patches/dev300/vcl-disable-mouse-grab.diff
Modified:
trunk/ChangeLog
trunk/patches/dev300/apply
Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply (original)
+++ trunk/patches/dev300/apply Sat May 10 15:58:31 2008
@@ -2213,6 +2213,11 @@
vcl-limited-bmp-subset-fix.diff, i#88818, thorsten
sd-view-zoom-fix.diff, n#380013, i#88939, thorsten
+sd-inplace-deselection-fix.diff, i#89283, n#384506, thorsten
+
+# apply this patch if you need to disable vcl grabbing your mouse -
+# after applying the patch, set SAL_NO_MOUSEGRABS in your env
+#vcl-disable-mouse-grab.diff
[ InternalMesaHeaders ]
internal-mesa-headers-config_office.diff, fridrich
Added: trunk/patches/dev300/sd-inplace-deselection-fix.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/sd-inplace-deselection-fix.diff Sat May 10 15:58:31 2008
@@ -0,0 +1,51 @@
+--- sd/source/ui/func/fusel.cxx 2008-04-10 22:25:23.000000000 +0200
++++ sd/source/ui/func/fusel.cxx 2008-05-10 16:26:03.000000000 +0200
+@@ -414,26 +418,29 @@
+ }
+ }
+
+- if ( !bReadOnly &&
+- bMarked &&
+- (!rMEvt.IsShift() || mpView->IsMarkedHit(aMDPos, nHitLog)))
+- {
+- /**********************************************************
+- * Objekt verschieben
+- **********************************************************/
+- aDragTimer.Start();
+-
+- pHdl=mpView->PickHandle(aMDPos);
+- if ( ! rMEvt.IsRight())
+- mpView->BegDragObj(aMDPos, (OutputDevice*) NULL, pHdl, nDrgLog);
+- }
+- else
++ if( !bDeactivateOLE )
+ {
+- /**********************************************************
+- * Objekt selektieren
+- **********************************************************/
+- if ( ! rMEvt.IsRight())
+- mpView->BegMarkObj(aMDPos);
++ if ( !bReadOnly &&
++ bMarked &&
++ (!rMEvt.IsShift() || mpView->IsMarkedHit(aMDPos, nHitLog)))
++ {
++ /**********************************************************
++ * Objekt verschieben
++ **********************************************************/
++ aDragTimer.Start();
++
++ pHdl=mpView->PickHandle(aMDPos);
++ if ( ! rMEvt.IsRight())
++ mpView->BegDragObj(aMDPos, (OutputDevice*) NULL, pHdl, nDrgLog);
++ }
++ else
++ {
++ /**********************************************************
++ * Objekt selektieren
++ **********************************************************/
++ if ( ! rMEvt.IsRight())
++ mpView->BegMarkObj(aMDPos);
++ }
+ }
+ }
+ }
Added: trunk/patches/dev300/vcl-disable-mouse-grab.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/vcl-disable-mouse-grab.diff Sat May 10 15:58:31 2008
@@ -0,0 +1,116 @@
+--- vcl/unx/gtk/window/gtkframe.cxx 2008-04-15 15:28:46.000000000 +0200
++++ vcl/unx/gtk/window/gtkframe.cxx 2008-05-10 14:20:37.000000000 +0200
+@@ -2061,6 +2061,8 @@
+
+ void GtkSalFrame::grabPointer( BOOL bGrab, BOOL bOwnerEvents )
+ {
++ static const char* pEnv = getenv( "SAL_NO_MOUSEGRABS" );
++
+ if( m_pWindow )
+ {
+ if( bGrab )
+@@ -2083,9 +2085,10 @@
+ {
+ const int nMask = ( GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK );
+
+- gdk_pointer_grab( m_pWindow->window, bOwnerEvents,
+- (GdkEventMask) nMask, NULL, m_pCurrentCursor,
+- GDK_CURRENT_TIME );
++ if( !pEnv || !*pEnv )
++ gdk_pointer_grab( m_pWindow->window, bOwnerEvents,
++ (GdkEventMask) nMask, NULL, m_pCurrentCursor,
++ GDK_CURRENT_TIME );
+ }
+ else
+ {
+@@ -2095,23 +2098,25 @@
+ //
+ // this is of course a bad hack, especially as we cannot
+ // set the right cursor this way
+- XGrabPointer( getDisplay()->GetDisplay(),
+- GDK_WINDOW_XWINDOW( m_pWindow->window),
+- bOwnerEvents,
+- PointerMotionMask | ButtonPressMask | ButtonReleaseMask,
+- GrabModeAsync,
+- GrabModeAsync,
+- None,
+- None,
+- CurrentTime
+- );
++ if( !pEnv || !*pEnv )
++ XGrabPointer( getDisplay()->GetDisplay(),
++ GDK_WINDOW_XWINDOW( m_pWindow->window),
++ bOwnerEvents,
++ PointerMotionMask | ButtonPressMask | ButtonReleaseMask,
++ GrabModeAsync,
++ GrabModeAsync,
++ None,
++ None,
++ CurrentTime
++ );
+
+ }
+ }
+ else
+ {
+ // Two GdkDisplays may be open
+- gdk_display_pointer_ungrab( getGdkDisplay(), GDK_CURRENT_TIME);
++ if( !pEnv || !*pEnv )
++ gdk_display_pointer_ungrab( getGdkDisplay(), GDK_CURRENT_TIME);
+ }
+ }
+ }
+--- vcl/unx/source/app/saldisp.cxx 2008-04-11 11:48:34.000000000 +0200
++++ vcl/unx/source/app/saldisp.cxx 2008-05-10 14:18:29.000000000 +0200
+@@ -2139,10 +2174,13 @@
+
+ int SalDisplay::CaptureMouse( SalFrame *pCapture )
+ {
++ static const char* pEnv = getenv( "SAL_NO_MOUSEGRABS" );
++
+ if( !pCapture )
+ {
+ m_pCapture = NULL;
+- XUngrabPointer( GetDisplay(), CurrentTime );
++ if( !pEnv || !*pEnv )
++ XUngrabPointer( GetDisplay(), CurrentTime );
+ XFlush( GetDisplay() );
+ return 0;
+ }
+@@ -2151,20 +2189,23 @@
+
+ // FIXME: get rid of X11SalFrame
+ const SystemEnvData* pEnvData = pCapture->GetSystemData();
+- int ret = XGrabPointer( GetDisplay(),
+- (XLIB_Window)pEnvData->aWindow,
+- False,
+- PointerMotionMask| ButtonPressMask|ButtonReleaseMask,
+- GrabModeAsync,
+- GrabModeAsync,
+- None,
+- static_cast<X11SalFrame*>(pCapture)->GetCursor(),
+- CurrentTime );
+-
+- if( ret != GrabSuccess )
++ if( !pEnv || !*pEnv )
+ {
+- DBG_ASSERT( 1, "SalDisplay::CaptureMouse could not grab pointer\n");
+- return -1;
++ int ret = XGrabPointer( GetDisplay(),
++ (XLIB_Window)pEnvData->aWindow,
++ False,
++ PointerMotionMask| ButtonPressMask|ButtonReleaseMask,
++ GrabModeAsync,
++ GrabModeAsync,
++ None,
++ static_cast<X11SalFrame*>(pCapture)->GetCursor(),
++ CurrentTime );
++
++ if( ret != GrabSuccess )
++ {
++ DBG_ASSERT( 1, "SalDisplay::CaptureMouse could not grab pointer\n");
++ return -1;
++ }
+ }
+
+ m_pCapture = pCapture;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]