Re: [PATCH] user32: end scrollbar tracking if the mouse capture is lost (retry)

2010-03-25 Thread Paul Vriens

On 03/25/2010 09:15 AM, Sébastien Ramage wrote:

---
dlls/user32/scroll.c | 5 +
dlls/user32/tests/scroll.c | 16 +++-
2 files changed, 16 insertions(+), 5 deletions(-)



Hi

You can see at http://source.winehq.org/patches/ that your patch '59740' 
had an apply failure. And fair enough:


$ patch -p 1 -i 
/home/paul/0001-PATCH-user32-end-scrollbar-tracking-if-the-mouse-captu.txt

(Stripping trailing CRs from patch.)
patching file dlls/user32/scroll.c
(Stripping trailing CRs from patch.)
patching file dlls/user32/tests/scroll.c

You have DOS line endings in your patch. A simple dos2unix fixes this.

--
Cheers,

Paul.




Re: [PATCH] user32: end scrollbar tracking if the mouse capture is lost (retry)

2010-03-25 Thread Paul Vriens

On 03/25/2010 09:56 AM, Sébastien Ramage wrote:


You have DOS line endings in your patch. A simple dos2unix fixes this.

Thank you
Attached the patch with unix line endings
Seb


Patch should go to wine-patches. Please mark as [Try x] and tell what 
the difference to the previous version is.


--
Cheers,

Paul.




Re: [PATCH] user32: end scrollbar tracking if the mouse capture is lost (retry)

2010-03-25 Thread Sébastien Ramage
 You have DOS line endings in your patch. A simple dos2unix fixes this.

 Thank you
Attached the patch with unix line endings
Seb
From 44bf3ca4f53864d70d6ae89ec705db83e51e9796 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?S=C3=A9bastien=20Ramage?= sebastien.ram...@gmail.com
Date: Thu, 25 Mar 2010 09:00:29 +0100
Subject: [PATCH] user32: end scrollbar tracking if the mouse capture is lost
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=1.6.3.3

This is a multi-part message in MIME format.
--1.6.3.3
Content-Type: text/plain; charset=UTF-8; format=fixed
Content-Transfer-Encoding: 8bit

---
 dlls/user32/scroll.c   |5 +
 dlls/user32/tests/scroll.c |   16 +++-
 2 files changed, 16 insertions(+), 5 deletions(-)


--1.6.3.3
Content-Type: text/x-patch; 
name=0001-PATCH-user32-end-scrollbar-tracking-if-the-mouse-captu.txt
Content-Transfer-Encoding: 8bit
Content-Disposition: attachment; 
filename=0001-PATCH-user32-end-scrollbar-tracking-if-the-mouse-captu.txt

diff --git a/dlls/user32/scroll.c b/dlls/user32/scroll.c
index 423dea1..ab21489 100644
--- a/dlls/user32/scroll.c
+++ b/dlls/user32/scroll.c
@@ -1125,11 +1125,8 @@ void SCROLL_TrackScrollBar( HWND hwnd, INT scrollbar, 
POINT pt )
 DispatchMessageW( msg );
 }
 if (!IsWindow( hwnd ))
-{
 ReleaseCapture();
-break;
-}
-} while (msg.message != WM_LBUTTONUP);
+} while (msg.message != WM_LBUTTONUP  GetCapture() == hwnd);
 }
 
 
diff --git a/dlls/user32/tests/scroll.c b/dlls/user32/tests/scroll.c
index 0695639..e3f6938 100644
--- a/dlls/user32/tests/scroll.c
+++ b/dlls/user32/tests/scroll.c
@@ -42,12 +42,25 @@ static LRESULT CALLBACK MyWndProc( HWND hWnd, UINT msg, 
WPARAM wParam, LPARAM lP
 case WM_DESTROY:
 PostQuitMessage(0);
 break;
-
+case WM_HSCROLL:
+case WM_VSCROLL:
+/* stop tracking */
+ReleaseCapture();
+return 0;
 default:
 return DefWindowProcA(hWnd, msg, wParam, lParam);
 }
 return 0;
 }
+static void scrollbar_test_track(void)
+{
+/* test that scrollbar tracking is terminated when
+ * the control looses mouse capture */
+SendMessage( hScroll, WM_LBUTTONDOWN, 0, MAKELPARAM( 1, 1));
+/* a normal return from the sendmessage */
+/* not normal for instance by closing the windws */
+ok( IsWindow( hScroll), Scrollbar has gone!\n);
+}
 
 static void scrollbar_test1(void)
 {
@@ -420,6 +433,7 @@ START_TEST ( scroll )
 scrollbar_test2();
 scrollbar_test3();
 scrollbar_test4();
+scrollbar_test_track();
 
 /* Some test results vary depending of theming being active or not */
 hUxtheme = LoadLibraryA(uxtheme.dll);

--1.6.3.3--