From a8626b7ec10c36440c2801e0433bb122e331b3e8 Mon Sep 17 00:00:00 2001
From: Eli Zaretskii <eliz@gnu.org>
Date: Mon, 18 Aug 2014 17:39:26 +0300
Subject: [PATCH] Fix horizontal scrolling in non-selected windows.

 lisp/scroll-bar.el (scroll-bar-horizontal-drag-1)
 (scroll-bar-toolkit-horizontal-scroll): When determining the
 paragraph direction, use the buffer of the window designated in
 the event.
---
 lisp/ChangeLog     |  7 +++++++
 lisp/scroll-bar.el | 11 +++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2a1d3b94427..1ee5ca6a3b7 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,10 @@
+2014-08-18  Eli Zaretskii  <eliz@gnu.org>
+
+	* scroll-bar.el (scroll-bar-horizontal-drag-1)
+	(scroll-bar-toolkit-horizontal-scroll): When determining the
+	paragraph direction, use the buffer of the window designated in
+	the event.
+
 2014-08-16  Andreas Schwab  <schwab@linux-m68k.org>
 
 	* vc/diff-mode.el (diff-fixup-modifs): Handle empty line in
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el
index 1af70b0d631..f803eb7f928 100644
--- a/lisp/scroll-bar.el
+++ b/lisp/scroll-bar.el
@@ -327,7 +327,8 @@ If you click outside the slider, the window scrolls to bring the slider there."
 	 (window (nth 0 start-position))
 	 (portion-whole (nth 2 start-position))
 	 (unit (frame-char-width (window-frame window))))
-    (if (eq (current-bidi-paragraph-direction) 'left-to-right)
+    (if (eq (current-bidi-paragraph-direction (window-buffer window))
+	    'left-to-right)
 	(set-window-hscroll
 	 window (/ (1- (+ (car portion-whole) unit)) unit))
       (set-window-hscroll
@@ -454,9 +455,11 @@ EVENT should be a scroll bar click."
   (let* ((end-position (event-end event))
 	 (window (nth 0 end-position))
 	 (part (nth 4 end-position))
-	 (bidi-factor (if (eq (current-bidi-paragraph-direction) 'left-to-right)
-			  1
-			-1))
+	 (bidi-factor
+	  (if (eq (current-bidi-paragraph-direction (window-buffer window))
+		  'left-to-right)
+	      1
+	    -1))
 	 before-scroll)
     (cond
      ((eq part 'end-scroll))
-- 
2.39.5