rpms/vnc/devel vnc-scrollbars.patch,NONE,1.1 vnc.spec,1.187,1.188

Adam Tkac (atkac) fedora-extras-commits at redhat.com
Fri Mar 14 12:20:04 UTC 2008


Author: atkac

Update of /cvs/pkgs/rpms/vnc/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17642

Modified Files:
	vnc.spec 
Added Files:
	vnc-scrollbars.patch 
Log Message:
- fixed assertion failed when only one scrollbar should be used (#428117)


vnc-scrollbars.patch:

--- NEW FILE vnc-scrollbars.patch ---
diff -up vnc-4_1_2-unixsrc/unix/tx/TXViewport.h.scrollbars vnc-4_1_2-unixsrc/unix/tx/TXViewport.h
--- vnc-4_1_2-unixsrc/unix/tx/TXViewport.h.scrollbars	2008-03-14 12:44:19.000000000 +0100
+++ vnc-4_1_2-unixsrc/unix/tx/TXViewport.h	2008-03-14 12:44:19.000000000 +0100
@@ -77,7 +77,8 @@ private:
   int xOff, yOff;
   rfb::Timer bumpScrollTimer;
   bool bumpScroll;
-  bool needScrollbars;
+  bool needXScrollbar;
+  bool needYScrollbar;
   int bumpScrollX, bumpScrollY;
 };
 #endif
diff -up vnc-4_1_2-unixsrc/unix/tx/TXViewport.cxx.scrollbars vnc-4_1_2-unixsrc/unix/tx/TXViewport.cxx
--- vnc-4_1_2-unixsrc/unix/tx/TXViewport.cxx.scrollbars	2008-03-14 12:44:19.000000000 +0100
+++ vnc-4_1_2-unixsrc/unix/tx/TXViewport.cxx	2008-03-14 13:08:30.000000000 +0100
@@ -25,7 +25,8 @@
 TXViewport::TXViewport(Display* dpy_, int w, int h, TXWindow* parent_)
   : TXWindow(dpy_, w, h, parent_), child(0), hScrollbar(0),
     vScrollbar(0), scrollbarSize(15), xOff(0), yOff(0), bumpScrollTimer(this),
-    bumpScroll(false), needScrollbars(false), bumpScrollX(0), bumpScrollY(0)
+    bumpScroll(false), needXScrollbar(false), needYScrollbar(false),
+    bumpScrollX(0), bumpScrollY(0)
 {
   clipper = new TXWindow(dpy, width()-scrollbarSize, height()-scrollbarSize,
                          this);
@@ -132,13 +133,23 @@ bool TXViewport::handleTimeout(rfb::Time
 
 void TXViewport::resizeNotify()
 {
-  needScrollbars = (!bumpScroll &&
-                    (width() < child->width() || height() < child->height()) &&
-                    (width() > scrollbarSize && height() > scrollbarSize));
-  if (needScrollbars) {
+  needXScrollbar = (!bumpScroll && width() < child->width() &&
+		    height() > scrollbarSize && width() > scrollbarSize);
+  needYScrollbar = (!bumpScroll && height() < child->height() &&
+		    height() > scrollbarSize && width() > scrollbarSize);
+
+  if (needXScrollbar && needYScrollbar) {
     clipper->resize(width()-scrollbarSize, height()-scrollbarSize);
     hScrollbar->map();
     vScrollbar->map();
+  } else if (needXScrollbar) {
+    clipper->resize(width(), height()-scrollbarSize);
+    hScrollbar->map();
+    vScrollbar->unmap();
+  } else if (needYScrollbar) {
+    clipper->resize(width()-scrollbarSize, height());
+    hScrollbar->unmap();
+    vScrollbar->map();
   } else {
     clipper->resize(width(), height());
     hScrollbar->unmap();
@@ -147,10 +158,13 @@ void TXViewport::resizeNotify()
 
   setOffset(xOff, yOff);
 
-  if (needScrollbars) {
+  if (needXScrollbar) {
     hScrollbar->move(0, height()-scrollbarSize);
     hScrollbar->resize(width()-scrollbarSize, scrollbarSize);
     hScrollbar->set(child->width(), -xOff, width()-scrollbarSize);
+  }
+
+  if (needYScrollbar) {
     vScrollbar->move(width()-scrollbarSize, 0);
     vScrollbar->resize(scrollbarSize, height()-scrollbarSize);
     vScrollbar->set(child->height(), -yOff, height()-scrollbarSize);


Index: vnc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/vnc/devel/vnc.spec,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -r1.187 -r1.188
--- vnc.spec	13 Mar 2008 15:23:57 -0000	1.187
+++ vnc.spec	14 Mar 2008 12:19:30 -0000	1.188
@@ -3,7 +3,7 @@
 Summary:   A remote display system
 Name:      vnc
 Version:   4.1.2
-Release:   27%{?dist}
+Release:   27.1%{?dist}
 URL:       http://www.realvnc.com
 Source0:   http://www.realvnc.com/dist/vnc-%{vnc_version}-unixsrc.tar.gz
 Source1:   Makefile.am
@@ -45,6 +45,7 @@
 Patch47:   vnc-getimage.patch
 Patch48:   vnc-manminor.patch
 Patch49:   vnc-clipboard.patch
+Patch50:   vnc-scrollbars.patch
 License:   GPLv2
 Group:     User Interface/Desktops
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
@@ -140,6 +141,7 @@
 %patch47 -p1 -b .getimage
 %patch48 -p1 -b .misc
 %patch49 -p1 -b .clipboard
+%patch50 -p1 -b .scrollbars
 
 %build
 export CFLAGS="$CFLAGS $RPM_OPT_FLAGS -O0"
@@ -330,6 +332,9 @@
 %{_libdir}/librfb.so.*
 
 %changelog
+* Fri Mar 14 2008 Adam Tkac <atkac redhat com> 4.1.2-27.1
+- fixed assertion failed when only one scrollbar should be used (#428117)
+
 * Thu Mar 13 2008 Adam Tkac <atkac redhat com> 4.1.2-27
 - removed obsolete vnc-ppc64.patch
 - minor vncviewer manpage fixes (#427672, #427701)
@@ -337,7 +342,7 @@
 - start vncconfig earlier in vncserver (#430965)
 - next BuildRequires cleanup
 
-* Mon Mar 11 2008 Adam Tkac <atkac redhat com> 4.1.2-26
+* Tue Mar 11 2008 Adam Tkac <atkac redhat com> 4.1.2-26
 - BuildRequires and Requires cleanup
 - don't build java viewer (problems due new gcj)
 - use xorg codebase from xorg-x11-server-source package again




More information about the fedora-extras-commits mailing list