]> git.pld-linux.org Git - packages/tigervnc.git/commitdiff
- added patches from fedora (getmaster, setcursor-crash, zrle-crash, xserver-1.15) auto/th/tigervnc-1.3.0-9
authorJan Rękorajski <baggins@pld-linux.org>
Fri, 3 Jan 2014 19:12:24 +0000 (20:12 +0100)
committerJan Rękorajski <baggins@pld-linux.org>
Fri, 3 Jan 2014 19:12:24 +0000 (20:12 +0100)
- fixed build with xserver 1.15
- rel 9

tigervnc-getmaster.patch [new file with mode: 0644]
tigervnc-setcursor-crash.patch [new file with mode: 0644]
tigervnc-xserver-1.15.patch [new file with mode: 0644]
tigervnc-zrle-crash.patch [new file with mode: 0644]
tigervnc.spec
xserver.patch

diff --git a/tigervnc-getmaster.patch b/tigervnc-getmaster.patch
new file mode 100644 (file)
index 0000000..cf6ce86
--- /dev/null
@@ -0,0 +1,96 @@
+diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.getmaster tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc
+--- tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc.getmaster   2013-07-12 09:30:50.551459439 +0100
++++ tigervnc-1.3.0/unix/xserver/hw/vnc/InputXKB.cc     2013-07-12 09:38:31.037480528 +0100
+@@ -232,10 +232,7 @@ void InputDevice::PrepareInputDevices(vo
+ unsigned InputDevice::getKeyboardState(void)
+ {
+-      DeviceIntPtr master;
+-
+-      master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
+-      return XkbStateFieldFromRec(&master->key->xkbInfo->state);
++      return XkbStateFieldFromRec(&keyboardDev->master->key->xkbInfo->state);
+ }
+ unsigned InputDevice::getLevelThreeMask(void)
+@@ -256,7 +253,7 @@ unsigned InputDevice::getLevelThreeMask(
+                       return 0;
+       }
+-      xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++      xkb = keyboardDev->master->key->xkbInfo->desc;
+       act = XkbKeyActionPtr(xkb, keycode, state);
+       if (act == NULL)
+@@ -281,7 +278,7 @@ KeyCode InputDevice::pressShift(void)
+       if (state & ShiftMask)
+               return 0;
+-      xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++      xkb = keyboardDev->master->key->xkbInfo->desc;
+       for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+               XkbAction *act;
+               unsigned char mask;
+@@ -318,7 +315,7 @@ std::list<KeyCode> InputDevice::releaseS
+       if (!(state & ShiftMask))
+               return keys;
+-      master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
++      master = keyboardDev->master;
+       xkb = master->key->xkbInfo->desc;
+       for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+               XkbAction *act;
+@@ -371,7 +368,7 @@ KeyCode InputDevice::pressLevelThree(voi
+                       return 0;
+       }
+-      xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++      xkb = keyboardDev->master->key->xkbInfo->desc;
+       act = XkbKeyActionPtr(xkb, keycode, state);
+       if (act == NULL)
+@@ -399,7 +396,7 @@ std::list<KeyCode> InputDevice::releaseL
+       if (!(state & mask))
+               return keys;
+-      master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
++      master = keyboardDev->master;
+       xkb = master->key->xkbInfo->desc;
+       for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+               XkbAction *act;
+@@ -440,7 +437,7 @@ KeyCode InputDevice::keysymToKeycode(Key
+       if (new_state != NULL)
+               *new_state = state;
+-      xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++      xkb = keyboardDev->master->key->xkbInfo->desc;
+       for (key = xkb->min_key_code; key <= xkb->max_key_code; key++) {
+               unsigned int state_out;
+               KeySym dummy;
+@@ -497,7 +494,7 @@ bool InputDevice::isLockModifier(KeyCode
+       XkbDescPtr xkb;
+       XkbAction *act;
+-      xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++      xkb = keyboardDev->master->key->xkbInfo->desc;
+       act = XkbKeyActionPtr(xkb, keycode, state);
+       if (act == NULL)
+@@ -535,7 +532,7 @@ bool InputDevice::isAffectedByNumLock(Ke
+       if (numlock_keycode == 0)
+               return false;
+-      xkb = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT)->key->xkbInfo->desc;
++      xkb = keyboardDev->master->key->xkbInfo->desc;
+       act = XkbKeyActionPtr(xkb, numlock_keycode, state);
+       if (act == NULL)
+@@ -569,7 +566,7 @@ KeyCode InputDevice::addKeysym(KeySym ke
+       KeySym *syms;
+       KeySym upper, lower;
+-      master = GetMaster(keyboardDev, KEYBOARD_OR_FLOAT);
++      master = keyboardDev->master;
+       xkb = master->key->xkbInfo->desc;
+       for (key = xkb->max_key_code; key >= xkb->min_key_code; key--) {
+               if (XkbKeyNumGroups(xkb, key) == 0)
diff --git a/tigervnc-setcursor-crash.patch b/tigervnc-setcursor-crash.patch
new file mode 100644 (file)
index 0000000..1efbd0e
--- /dev/null
@@ -0,0 +1,13 @@
+diff -up tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc.jx tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc
+--- tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc.jx   2012-08-27 09:02:47.000000000 -0400
++++ tigervnc-1.2.80-20130314svn5065/unix/xserver/hw/vnc/XserverDesktop.cc      2013-06-17 09:42:14.310725996 -0400
+@@ -479,6 +479,9 @@ void XserverDesktop::setCursor(CursorPtr
+       }
+     } else {
+ #endif
++      if (!cmap)
++      return;
++
+       xColorItem fg, bg;
+       fg.red   = cursor->foreRed;
+       fg.green = cursor->foreGreen;
diff --git a/tigervnc-xserver-1.15.patch b/tigervnc-xserver-1.15.patch
new file mode 100644 (file)
index 0000000..d070a70
--- /dev/null
@@ -0,0 +1,15 @@
+diff -up tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h
+--- tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h.jx       2013-07-01 08:41:24.000000000 -0400
++++ tigervnc-1.3.0/unix/xserver/hw/vnc/xorg-version.h  2013-11-07 11:39:49.749992669 -0500
+@@ -44,8 +44,10 @@
+ #define XORG 113
+ #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (14 * 100000) + (99 * 1000))
+ #define XORG 114
++#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (15 * 100000) + (99 * 1000))
++#define XORG 115
+ #else
+-#error "X.Org newer than 1.14 is not supported"
++#error "X.Org newer than 1.15 is not supported"
+ #endif
+ #endif
diff --git a/tigervnc-zrle-crash.patch b/tigervnc-zrle-crash.patch
new file mode 100644 (file)
index 0000000..74545d7
--- /dev/null
@@ -0,0 +1,69 @@
+diff -up tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx.zrle-crash tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx
+--- tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx.zrle-crash       2013-07-01 13:41:59.000000000 +0100
++++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.cxx  2013-12-12 17:30:48.510007365 +0000
+@@ -55,16 +55,19 @@ Encoder* ZRLEEncoder::create(SMsgWriter*
+ }
+ ZRLEEncoder::ZRLEEncoder(SMsgWriter* writer_)
+-  : writer(writer_), zos(0,0,zlibLevel)
++  : writer(writer_)
+ {
+   if (sharedMos)
+     mos = sharedMos;
+   else
+     mos = new rdr::MemOutStream(129*1024);
++
++  zos = new rdr::ZlibOutStream(0, 0, zlibLevel);
+ }
+ ZRLEEncoder::~ZRLEEncoder()
+ {
++  delete zos;
+   if (!sharedMos)
+     delete mos;
+ }
+@@ -78,10 +81,10 @@ bool ZRLEEncoder::writeRect(const Rect&
+   switch (writer->bpp()) {
+   case 8:
+-    wroteAll = zrleEncode8(r, mos, &zos, imageBuf, maxLen, actual, ig);
++    wroteAll = zrleEncode8(r, mos, zos, imageBuf, maxLen, actual, ig);
+     break;
+   case 16:
+-    wroteAll = zrleEncode16(r, mos, &zos, imageBuf, maxLen, actual, ig);
++    wroteAll = zrleEncode16(r, mos, zos, imageBuf, maxLen, actual, ig);
+     break;
+   case 32:
+     {
+@@ -94,16 +97,16 @@ bool ZRLEEncoder::writeRect(const Rect&
+       if ((fitsInLS3Bytes && pf.isLittleEndian()) ||
+           (fitsInMS3Bytes && pf.isBigEndian()))
+       {
+-        wroteAll = zrleEncode24A(r, mos, &zos, imageBuf, maxLen, actual, ig);
++        wroteAll = zrleEncode24A(r, mos, zos, imageBuf, maxLen, actual, ig);
+       }
+       else if ((fitsInLS3Bytes && pf.isBigEndian()) ||
+                (fitsInMS3Bytes && pf.isLittleEndian()))
+       {
+-        wroteAll = zrleEncode24B(r, mos, &zos, imageBuf, maxLen, actual, ig);
++        wroteAll = zrleEncode24B(r, mos, zos, imageBuf, maxLen, actual, ig);
+       }
+       else
+       {
+-        wroteAll = zrleEncode32(r, mos, &zos, imageBuf, maxLen, actual, ig);
++        wroteAll = zrleEncode32(r, mos, zos, imageBuf, maxLen, actual, ig);
+       }
+       break;
+     }
+diff -up tigervnc-1.3.0/common/rfb/ZRLEEncoder.h.zrle-crash tigervnc-1.3.0/common/rfb/ZRLEEncoder.h
+--- tigervnc-1.3.0/common/rfb/ZRLEEncoder.h.zrle-crash 2013-07-01 13:42:01.000000000 +0100
++++ tigervnc-1.3.0/common/rfb/ZRLEEncoder.h    2013-12-12 17:30:48.510007365 +0000
+@@ -45,7 +45,7 @@ namespace rfb {
+   private:
+     ZRLEEncoder(SMsgWriter* writer);
+     SMsgWriter* writer;
+-    rdr::ZlibOutStream zos;
++    rdr::ZlibOutStream* zos;
+     rdr::MemOutStream* mos;
+     static rdr::MemOutStream* sharedMos;
+     static int maxLen;
index 745cec0cd104b4f70a495d0c0f3a837c206d288a..f619a90f70d42a6c2aa541b57213d554579224a5 100644 (file)
@@ -4,7 +4,7 @@ Summary:        A TigerVNC remote display system
 Summary(pl.UTF-8):     System zdalnego dostępu TigerVNC
 Name:          tigervnc
 Version:       1.3.0
-Release:       8
+Release:       9
 License:       GPL v2
 Group:         X11/Applications/Networking
 Source0:       http://download.sourceforge.net/tigervnc/%{name}-%{version}.tar.bz2
@@ -16,7 +16,6 @@ Source4:      vncserver.target
 Source5:       vncserver-service-generator
 Patch0:                %{name}-cookie.patch
 Patch1:                %{name}-ldnow.patch
-Patch2:                %{name}-rh102434.patch
 Patch3:                %{name}-as-needed.patch
 Patch4:                %{name}-ipv6.patch
 Patch5:                %{name}-rh692048.patch
@@ -25,7 +24,10 @@ Patch7:              format-security.patch
 Patch8:                %{name}-typecast.patch
 Patch9:                tigervnc-xstartup.patch
 Patch10:       xserver.patch
-Patch11:       tigervnc-key_is_down.patch
+Patch11:       tigervnc-getmaster.patch
+Patch12:       tigervnc-setcursor-crash.patch
+Patch13:       tigervnc-xserver-1.15.patch
+Patch14:       tigervnc-zrle-crash.patch
 URL:           http://www.tigervnc.com/
 BuildRequires: ImageMagick
 BuildRequires: ImageMagick-coder-png
@@ -84,6 +86,7 @@ BuildRequires:        xorg-proto-fontsproto-devel
 BuildRequires: xorg-proto-glproto-devel >= 1.4.10
 BuildRequires: xorg-proto-inputproto-devel >= 1.9.99.902
 BuildRequires: xorg-proto-kbproto-devel >= 1.0.3
+BuildRequires: xorg-proto-presentproto-devel >= 1.0
 BuildRequires: xorg-proto-printproto-devel
 BuildRequires: xorg-proto-randrproto-devel >= 1.3
 BuildRequires: xorg-proto-recordproto-devel
@@ -182,7 +185,6 @@ pozwalający na zdalny dostęp do pulpitu.
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
 %patch3 -p1
 %patch4 -p0
 %patch5 -p1
@@ -191,12 +193,15 @@ pozwalający na zdalny dostęp do pulpitu.
 %patch8 -p1
 %patch9 -p1
 %patch11 -p1
+%patch12 -p1
+%patch14 -p1
 
 cp -a %{_usrsrc}/xorg-xserver-server-%{_xserverver}/* unix/xserver
 
+%patch13 -p1
+
 cd unix/xserver
-patch -p1 <%{PATCH10}
-cd -
+%patch10 -p1
 
 %build
 %cmake .
index bc0d17e5df5469bc6c41f362f342632d1e0cd558..a8484427ea04dbee87821845b06d264ee83e2e5e 100644 (file)
@@ -15,7 +15,7 @@ diff -up xserver/configure.ac.vnc xserver/configure.ac
  
 +dnl Xvnc DDX
 +AC_SUBST([XVNC_CPPFLAGS], ["-DHAVE_DIX_CONFIG_H $XSERVER_CFLAGS"])
-+AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB"])
++AC_SUBST([XVNC_LIBS], ["$FB_LIB $FIXES_LIB $XEXT_LIB $CONFIG_LIB $DBE_LIB $RECORD_LIB $GLX_LIBS $RANDR_LIB $RENDER_LIB $DAMAGE_LIB $MIEXT_SYNC_LIB $MIEXT_DAMAGE_LIB $MIEXT_SHADOW_LIB $XI_LIB $XKB_LIB $XKB_STUB_LIB $COMPOSITE_LIB $MAIN_LIB $PRESENT_LIB"])
 +AC_SUBST([XVNC_SYS_LIBS], ["$GLX_SYS_LIBS"])
  
  dnl Xnest DDX
This page took 0.053469 seconds and 4 git commands to generate.