From eb2eeed97e47f6b996c6a7bf9830b0083a66a96f Mon Sep 17 00:00:00 2001
From: dscho <dscho>
Date: Tue, 14 Aug 2007 14:31:08 +0000
Subject: [PATCH] LibVNCClient: if the GotRect hook is set, override default
 op.

---
 AUTHORS                 | 2 +-
 ChangeLog               | 4 ++++
 libvncclient/rfbproto.c | 4 ++--
 3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/AUTHORS b/AUTHORS
index cf3bf5d..2a5a22b 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -30,7 +30,7 @@ Glenn Mabutt, Paul Kreiner, Erik Kunze, Mike Frysinger, Martin Waitz,
 Mark McLoughlin, Paul Fox, Juan Jose Costello, Andre Leiadella,
 Alberto Lusiani, Malvina Mazin, Dave Stuart, Rohit Kumar, Donald Dugger,
 Steven Carr, Uwe Völker, Charles Coffing, Guillaume Rousse,
-Alessandro Praduroux, and Brad Hards.
+Alessandro Praduroux, Brad Hards, and Timo Ketola.
 
 Probably I forgot quite a few people sending a patch here and there, which
 really made a difference. Without those, some obscure bugs still would
diff --git a/ChangeLog b/ChangeLog
index d23f85f..e250032 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2007-08-10  Timo Ketola <timo@riihineva.no-ip.org>
+	* libvncclient/rfbproto.c: add missing else (so that GotRect
+	  handling overrides the default operation).
+
 2007-06-14  Karl Runge <runge@karlrunge.com>
 	* configure.ac: add a note on what you must do if you want to
 	  re-run autoconf from the LibVNCServer-X.Y.Z.tar.gz tarball.
diff --git a/libvncclient/rfbproto.c b/libvncclient/rfbproto.c
index 01c80ca..6e87f69 100644
--- a/libvncclient/rfbproto.c
+++ b/libvncclient/rfbproto.c
@@ -1287,8 +1287,8 @@ HandleRFBServerMessage(rfbClient* client)
         if (client->GotCopyRect != NULL) {
           client->GotCopyRect(client, cr.srcX, cr.srcY, rect.r.w, rect.r.h,
               rect.r.x, rect.r.y);
-        }
-	CopyRectangleFromRectangle(client,
+        } else
+		CopyRectangleFromRectangle(client,
 				   cr.srcX, cr.srcY, rect.r.w, rect.r.h,
 				   rect.r.x, rect.r.y);
 
-- 
2.18.1