[X2Go-Commits] nx-libs.git - build-main (branch) updated: nxcompshad/3.5.0-2

X2Go dev team git-admin at x2go.org
Fri Aug 30 16:22:20 CEST 2013


The branch, build-main has been updated
       via  bf85c6e696693ef5a277c0334c01493dedf4fadd (commit)
      from  c70adf725d3fea94eabdde467b8b8b106a796c0a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 nxcompshad/CHANGELOG       |   11 ++
 nxcompshad/Core.cpp        |    2 +-
 nxcompshad/Core.h          |    2 +-
 nxcompshad/Input.cpp       |    2 +-
 nxcompshad/Input.h         |    2 +-
 nxcompshad/LICENSE         |    2 +-
 nxcompshad/Logger.cpp      |    2 +-
 nxcompshad/Logger.h        |    2 +-
 nxcompshad/Makefile.in     |    2 +-
 nxcompshad/Manager.cpp     |    2 +-
 nxcompshad/Manager.h       |    2 +-
 nxcompshad/Misc.h          |    2 +-
 nxcompshad/Poller.h        |    2 +-
 nxcompshad/Regions.h       |    2 +-
 nxcompshad/Shadow.cpp      |    2 +-
 nxcompshad/Shadow.cpp.orig |  461 --------------------------------------------
 nxcompshad/Shadow.h        |    2 +-
 nxcompshad/Updater.cpp     |    2 +-
 nxcompshad/Updater.h       |    2 +-
 nxcompshad/VERSION         |    2 +-
 nxcompshad/Win.cpp         |    2 +-
 nxcompshad/Win.h           |    2 +-
 nxcompshad/X11.cpp         |   28 ++-
 nxcompshad/X11.h           |    2 +-
 24 files changed, 50 insertions(+), 492 deletions(-)
 mode change 100755 => 100644 nxcompshad/Makefile.in
 delete mode 100644 nxcompshad/Shadow.cpp.orig

The diff of changes is:
diff --git a/nxcompshad/CHANGELOG b/nxcompshad/CHANGELOG
index ea1ff45..3472a4a 100644
--- a/nxcompshad/CHANGELOG
+++ b/nxcompshad/CHANGELOG
@@ -1,5 +1,16 @@
 ChangeLog:
 
+nxcompshad-3.5.0-2
+
+- Fixed TR03G02189. Now key combinations involving the Shift keys
+  are recognized correctly.
+
+nxcompshad-3.5.0-1
+
+- Opened the 3.5.0 branch based on nxcompshad-3.4.0-3.
+
+- Updated copyright to year 2011.
+
 nxcompshad-3.4.0-3
 
 - Updated copyright to year 2010.
diff --git a/nxcompshad/Core.cpp b/nxcompshad/Core.cpp
index 6052de6..6f94493 100644
--- a/nxcompshad/Core.cpp
+++ b/nxcompshad/Core.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Core.h b/nxcompshad/Core.h
index b0a9943..9bc8a64 100644
--- a/nxcompshad/Core.h
+++ b/nxcompshad/Core.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Input.cpp b/nxcompshad/Input.cpp
index 09e77a8..f9bf181 100644
--- a/nxcompshad/Input.cpp
+++ b/nxcompshad/Input.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Input.h b/nxcompshad/Input.h
index 764508e..6250e79 100644
--- a/nxcompshad/Input.h
+++ b/nxcompshad/Input.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/LICENSE b/nxcompshad/LICENSE
index 99d6e5c..2c7f95a 100644
--- a/nxcompshad/LICENSE
+++ b/nxcompshad/LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2001, 2010 NoMachine - http://www.nomachine.com/.
+Copyright (c) 2001, 2011 NoMachine - http://www.nomachine.com/.
 
 NXCOMPSHAD and NX extensions to X are copyright of NoMachine.
 
diff --git a/nxcompshad/Logger.cpp b/nxcompshad/Logger.cpp
index 47e5e63..c367c5d 100644
--- a/nxcompshad/Logger.cpp
+++ b/nxcompshad/Logger.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMP, NX protocol compression and NX extensions to this software     */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Logger.h b/nxcompshad/Logger.h
index 0a9cad9..94e4da8 100644
--- a/nxcompshad/Logger.h
+++ b/nxcompshad/Logger.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMP, NX protocol compression and NX extensions to this software     */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Makefile.in b/nxcompshad/Makefile.in
old mode 100755
new mode 100644
index eaf5cab..1580a35
--- a/nxcompshad/Makefile.in
+++ b/nxcompshad/Makefile.in
@@ -1,6 +1,6 @@
 ############################################################################
 #                                                                          #
-#  Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.          #
+#  Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.          #
 #                                                                          #
 #  NXCOMP, NX protocol compression and NX extensions to this software      #
 #  are copyright of NoMachine. Redistribution and use of the present       #
diff --git a/nxcompshad/Manager.cpp b/nxcompshad/Manager.cpp
index 38b92c2..ba9260a 100644
--- a/nxcompshad/Manager.cpp
+++ b/nxcompshad/Manager.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Manager.h b/nxcompshad/Manager.h
index 6f87cdc..2677549 100644
--- a/nxcompshad/Manager.h
+++ b/nxcompshad/Manager.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Misc.h b/nxcompshad/Misc.h
index 3bcb266..6dc8635 100644
--- a/nxcompshad/Misc.h
+++ b/nxcompshad/Misc.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Poller.h b/nxcompshad/Poller.h
index 914ba1d..4435b5b 100644
--- a/nxcompshad/Poller.h
+++ b/nxcompshad/Poller.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Regions.h b/nxcompshad/Regions.h
index 8ea41ad..b9303dc 100644
--- a/nxcompshad/Regions.h
+++ b/nxcompshad/Regions.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Shadow.cpp b/nxcompshad/Shadow.cpp
index 6f2856c..f9525ad 100644
--- a/nxcompshad/Shadow.cpp
+++ b/nxcompshad/Shadow.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Shadow.cpp.orig b/nxcompshad/Shadow.cpp.orig
deleted file mode 100644
index 206eb2e..0000000
--- a/nxcompshad/Shadow.cpp.orig
+++ /dev/null
@@ -1,461 +0,0 @@
-/**************************************************************************/
-/*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
-/*                                                                        */
-/* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
-/* are copyright of NoMachine. Redistribution and use of the present      */
-/* software is allowed according to terms specified in the file LICENSE   */
-/* which comes in the source distribution.                                */
-/*                                                                        */
-/* Check http://www.nomachine.com/licensing.html for applicability.       */
-/*                                                                        */
-/* NX and NoMachine are trademarks of Medialogic S.p.A.                   */
-/*                                                                        */
-/* All rights reserved.                                                   */
-/*                                                                        */
-/**************************************************************************/
-
-#include <signal.h>
-#include <string.h>
-
-#define PANIC
-#define WARNING
-#undef  TEST
-#undef  DEBUG
-
-#include "Logger.h"
-#include "Shadow.h"
-#include "Poller.h"
-#include "Manager.h"
-
-typedef struct {
-    KeySym  *map;
-    KeyCode minKeyCode,
-            maxKeyCode;
-    int     mapWidth;
-} KeySymsRec, *KeySymsPtr;
-
-KeySymsPtr NXShadowKeymap = NULL;
-
-ShadowOptions NXShadowOptions = {1, 1, -1};
-
-static int mirrorException = 0;
-
-static UpdateManager *updateManager;
-static Poller *poller;
-static Input *input;
-
-int NXShadowRemoveAllUpdaters();
-
-inline bool NXShadowNotInitialized()
-{
-  //
-  // updateManager depends on input and poller.
-  // So this test seem redundant.
-  //
-  // return (input == NULL) || (poller == NULL) || (updateManager == NULL);
-  //
-
-  return (updateManager == NULL);
-}
-
-#ifdef NEED_SIGNAL_HANDLER
-static void NXSignalHandler(int signal)
-{
-  logTest("NXSignalHandler", "Got signal [%d]", signal);
-
-  if (signal == SIGINT)
-  {
-    mirrorException = 1;
-  }
-  else if (signal == SIGTERM)
-  {
-    mirrorException = 1;
-  }
-}
-
-static int NXInitSignal()
-{
-  logTrace("NXInitSignal");
-
-  struct sigaction sa;
-
-  sa.sa_handler = NXSignalHandler;
-  sigfillset(&sa.sa_mask);
-  sa.sa_flags = 0;
-
-  int res;
-
-  while ((res = sigaction(SIGINT, &sa, NULL)) == -1 &&
-             errno == EINTR);
-
-  if (res == -1)
-  {
-    logError("NXInitSignal", EGET());
-
-    return -1;
-  }
-
-  return 1;
-}
-#endif
-
-static void NXHandleException()
-{
-  if (mirrorException)
-  {
-    mirrorException = 0;
-
-    NXShadowRemoveAllUpdaters();
-  }
-}
-
-static int NXCreateInput(char *keymap, char *shadowDisplayName)
-{
-  logTrace("NXCreateInput");
-
-  input = new Input;
-
-  if (input == NULL)
-  {
-    logError("NXCreateInput", ESET(ENOMEM));
-
-    return -1;
-  }
-
-  input -> setKeymap(keymap);
-
-  input -> setShadowDisplayName(shadowDisplayName);
-
-  return 1;
-}
-
-static int NXCreatePoller(Display *display, Display **shadowDisplay)
-{
-  logTrace("NXCreatePoller");
-
-  if (input == NULL)
-  {
-    logError("NXCreatePoller", ESET(EBADFD));
-
-    return -1;
-  }
-
-  poller = new Poller(input,display);
-
-  if (poller == NULL)
-  {
-    logError("NXCreatePoller", ESET(ENOMEM));
-
-    return -1;
-  }
-
-  if (poller -> init() == -1)
-  {
-    logTest("NXCreatePoller", "Failed to initialize poller.");
-
-    return -1;
-  }
-
-  *shadowDisplay = poller -> getShadowDisplay();
-
-  logTest("NXCreatePoller", "Poller geometry [%d, %d], ShadowDisplay[%p].", poller -> width(),
-              poller -> height(), (Display *) *shadowDisplay);
-
-  return 1;
-}
-
-static int NXCreateUpdateManager()
-{
-  logTrace("NXCreateUpdateManager");
-
-  if (input == NULL || poller == NULL)
-  {
-    logError("NXCreateUpdateManager", ESET(EBADFD));
-
-    return -1;
-  }
-
-  updateManager = new UpdateManager(poller -> width(), poller -> height(),
-                                        poller -> getFrameBuffer(), input);
-
-  if (updateManager == NULL)
-  {
-    logError("NXCreateUpdateManager", ESET(ENOMEM));
-
-    return -1;
-  }
-
-  return 1;
-}
-
-void  NXShadowResetOptions()
-{
-  NXShadowOptions.optionShmExtension = 1;
-  NXShadowOptions.optionDamageExtension = 1;
-}
-
-//
-// Exported functions.
-//
-
-int NXShadowHasUpdaters()
-{
-  logTrace("NXShadowHasUpdaters");
-
-  return (updateManager && updateManager -> numberOfUpdaters()) ? 1 : 0;
-}
-
-int NXShadowRemoveAllUpdaters()
-{
-  logTrace("NXShadowRemoveAllUpdaters");
-
-  return updateManager ? updateManager -> removeAllUpdaters() : 0;
-}
-
-int NXShadowRemoveUpdater(UpdaterHandle handle)
-{
-  logTrace("NXShadowRemoveUpdater");
-
-  return updateManager ? updateManager -> removeUpdater(handle) : 0;
-}
-
-UpdaterHandle NXShadowAddUpdater(char *displayName)
-{
-  logTrace("NXShadowAddUpdater");
-
-  return updateManager ? updateManager -> addUpdater(displayName, NULL) : NULL;
-}
-
-int NXShadowAddUpdaterDisplay(void *dpy, int *w, int *h, unsigned char *d)
-{
-  Display *display = reinterpret_cast<Display*>(dpy);
-
-  logTrace("NXShadowAddUpdaterDisplay");
-
-  if ((updateManager ? updateManager -> addUpdater(NULL, display) : NULL) == NULL)
-  {
-    logTest("NXShadowAddUpdaterDisplay", "Error");
-
-    return 0;
-  }
-
-  *w = updateManager -> getWidth();
-  *h = updateManager -> getHeight();
-  *d = poller -> depth();
-
-  return 1;
-}
-
-int NXShadowCreate(void *dpy, char *keymap, char* shadowDisplayName, void **shadowDpy)
-{
-  logTrace("NXShadowCreate");
-
-  Display *display = reinterpret_cast<Display*>(dpy);
-  Display **shadowDisplay = reinterpret_cast<Display**>(shadowDpy);
-
-/*  if (NXInitSignal() != 1)
-  {
-    logError("NXShadowCreate", EGET());
-
-    return -1;
-  }*/
-
-  if (NXCreateInput(keymap, shadowDisplayName) != 1)
-  {
-    logError("NXShadowCreate", EGET());
-
-    return -1;
-  }
-
-  if (NXCreatePoller(display, shadowDisplay) != 1)
-  {
-    logTest("NXShadowCreate", "NXCreatePoller failed.");
-
-    return -1;
-  }
-
-  if (NXCreateUpdateManager() != 1)
-  {
-    logError("NXShadowCreate", EGET());
-
-    return -1;
-  }
-
-  return 1;
-}
-
-#if !defined(__CYGWIN32__) && !defined(WIN32)
-
-void NXShadowSetDisplayUid(int uid)
-{
-  NXShadowOptions.optionShadowDisplayUid = uid;
-}
-
-void NXShadowDisableShm(void)
-{
-  logUser("NXShadowDisableShm: Disabling SHM.\n");
-
-  NXShadowOptions.optionShmExtension = 0;
-}
-
-void NXShadowDisableDamage(void)
-{
-  NXShadowOptions.optionDamageExtension = 0;
-}
-
-#endif
-
-void NXShadowDestroy()
-{
-  if (poller)
-  {
-    delete poller;
-
-    poller = NULL;
-  }
-
-  if (updateManager)
-  {
-    delete updateManager;
-
-    updateManager = NULL;
-  }
-
-  if (input)
-  {
-    delete input;
-
-    input = NULL;
-  }
-}
-
-void NXShadowHandleInput()
-{
-  logTrace("NXShadowHandleInput");
-
-  if (NXShadowNotInitialized())
-  {
-    logError("NXShadowHandleInput - NXShadow not properly initialized.", ESET(EBADFD));
-
-    return;
-  }
-
-  NXHandleException();
-
-  updateManager -> handleInput();
-
-  poller -> handleInput();
-}
-
-int NXShadowHasChanged(int (*callback)(void *), void *arg, int *suspended)
-{
-  int result;
-
-  logTrace("NXShadowHasChanged");
-
-  if (NXShadowNotInitialized())
-  {
-    logError("NXShadowHasChanged - NXShadow not properly initialized.", ESET(EBADFD));
-
-    return -1;
-  }
-
-  //
-  // FIXME
-  //updateManager -> destroyUpdateManagerRegion();
-  //
-
-  updateManager -> newRegion();
-
-#if !defined(__CYGWIN32__) && !defined(WIN32)
-  poller -> getEvents();
-#endif
-
-  result = poller -> isChanged(callback, arg, suspended);
-
-  if (result == 1)
-  {
-    updateManager -> addRegion(poller -> lastUpdatedRegion());
-
-    return 1;
-  }
-  else if (result == -1)
-  {
-    logTest("NXShadowHasChanged", "Scanline error.");
-    return -1;
-  }
-
-  return 0;
-}
-
-void NXShadowExportChanges(long *numRects, char **pBox)
-{
-  Region pReg;
-
-  logTrace("NXShadowExportChanges");
-
-  if (NXShadowNotInitialized())
-  {
-    logError("NXShadowExportChanges - NXShadow not properly initialized.", ESET(EBADFD));
-  }
-
-  updateManager -> update();
-  pReg = updateManager -> getUpdateManagerRegion();
-  *numRects = pReg -> numRects;
-  *pBox = (char *)pReg -> rects;
-
-  logTest("NXShadowExportChanges", "numRects [%ld] pBox[%p], pReg->numRects[%ld], rects[%p], size[%lu]",
-              *numRects, *pBox, pReg -> numRects, &(pReg -> rects -> x2),
-                  (unsigned long) sizeof(pReg -> rects -> x2));
-}
-
-void NXShadowEvent(Display *display, XEvent event)
-{
-  poller -> handleEvent(display, &event);
-}
-
-void NXShadowWebKeyEvent(KeySym keysym, Bool isKeyPress)
-{
-  poller -> handleWebKeyEvent(keysym, isKeyPress);
-}
-
-#ifdef __CYGWIN32__
-
-int NXShadowCaptureCursor(unsigned int wnd, void *vis)
-{
-  Window window = (Window)wnd;
-  Visual *visual = reinterpret_cast<Visual*>(vis);
-
-  logTrace("NXShadowCaptureCursor");
-
-  logTest("NXShadowCaptureCursor","Init");
-
-  return poller -> updateCursor(window, visual);
-}
-
-#endif
-
-void NXShadowUpdateBuffer(void **buffer)
-{
-  char **fBuffer = reinterpret_cast<char **>(buffer);
-
-  if (*fBuffer != NULL)
-  {
-    poller -> destroyFrameBuffer();
-
-    poller -> init();
-  }
-
-  *fBuffer = poller -> getFrameBuffer();
-
-  logTest("NXShadowUpdateBuffer","New frame buffer [0x%p]", (void *)*fBuffer);
-}
-
-void NXShadowInitKeymap(void *keysyms)
-{
-  NXShadowKeymap = (KeySymsPtr) keysyms;
-
-  logTest("NXShadowInitKeymap","KeySyms pointer [0x%p] mapWidth [%d]",
-              (void *)NXShadowKeymap, NXShadowKeymap -> mapWidth);
-}
diff --git a/nxcompshad/Shadow.h b/nxcompshad/Shadow.h
index ef65c0b..e1eddb9 100644
--- a/nxcompshad/Shadow.h
+++ b/nxcompshad/Shadow.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Updater.cpp b/nxcompshad/Updater.cpp
index f1761ba..245c6ce 100644
--- a/nxcompshad/Updater.cpp
+++ b/nxcompshad/Updater.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Updater.h b/nxcompshad/Updater.h
index 4bcaa91..daa26c1 100644
--- a/nxcompshad/Updater.h
+++ b/nxcompshad/Updater.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/VERSION b/nxcompshad/VERSION
index 1809198..1545d96 100644
--- a/nxcompshad/VERSION
+++ b/nxcompshad/VERSION
@@ -1 +1 @@
-3.4.0
+3.5.0
diff --git a/nxcompshad/Win.cpp b/nxcompshad/Win.cpp
index 3f1e489..481cbca 100644
--- a/nxcompshad/Win.cpp
+++ b/nxcompshad/Win.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/Win.h b/nxcompshad/Win.h
index 72566b8..fe591ff 100644
--- a/nxcompshad/Win.h
+++ b/nxcompshad/Win.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
diff --git a/nxcompshad/X11.cpp b/nxcompshad/X11.cpp
index cb8f55f..2d1140f 100644
--- a/nxcompshad/X11.cpp
+++ b/nxcompshad/X11.cpp
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */
@@ -981,6 +981,7 @@ void Poller::handleKeyboardEvent(Display *display, XEvent *event)
 
   Bool isKeyPress = False;
   Bool isModifier = False;
+  Bool isShiftComb = False;
   Bool skip = False;
 
   if (event -> type == KeyPress)
@@ -1048,19 +1049,26 @@ void Poller::handleKeyboardEvent(Display *display, XEvent *event)
             (!modeSwitchOn && !level3ShiftOn && !altROn) &&
                 !skip)
     {
-      keysym = keymapKeycodeToKeysym(event -> xkey.keycode, shadowKeysyms,
-                                         shadowMinKey, shadowMapWidth, 1);
-    }
+      KeySym tempKeysym = keymapKeycodeToKeysym(event -> xkey.keycode, shadowKeysyms,
+                                                    shadowMinKey, shadowMapWidth, 1);
 
-    if ((!leftShiftOn && !rightShiftOn) &&
-            (modeSwitchOn || level3ShiftOn || altROn))
+      if (tempKeysym == 0)
+      {
+        isShiftComb = True;
+      }
+      else
+      {
+        keysym = tempKeysym;
+      }
+    }
+    else if ((!leftShiftOn && !rightShiftOn) &&
+                 (modeSwitchOn || level3ShiftOn || altROn))
     {
       keysym = keymapKeycodeToKeysym(event -> xkey.keycode, shadowKeysyms,
                                          shadowMinKey, shadowMapWidth, 2);
     }
-
-    if ((leftShiftOn || rightShiftOn) &&
-            (modeSwitchOn || level3ShiftOn || altROn))
+    else if ((leftShiftOn || rightShiftOn) &&
+                 (modeSwitchOn || level3ShiftOn || altROn))
     {
       keysym = keymapKeycodeToKeysym(event -> xkey.keycode, shadowKeysyms,
                                        shadowMinKey, shadowMapWidth, 3);
@@ -1103,7 +1111,7 @@ void Poller::handleKeyboardEvent(Display *display, XEvent *event)
    * Send fake modifier events.
    */
 
-  if (!isModifier)
+  if (!isModifier && isShiftComb == False)
   {
     sendFakeModifierEvents(col, ((keysym >> 8) == 0) && (keysym >= XK_A) && (keysym <= XK_Z));
   }
diff --git a/nxcompshad/X11.h b/nxcompshad/X11.h
index d34fd3d..2127542 100644
--- a/nxcompshad/X11.h
+++ b/nxcompshad/X11.h
@@ -1,6 +1,6 @@
 /**************************************************************************/
 /*                                                                        */
-/* Copyright (c) 2001, 2010 NoMachine, http://www.nomachine.com/.         */
+/* Copyright (c) 2001, 2011 NoMachine, http://www.nomachine.com/.         */
 /*                                                                        */
 /* NXCOMPSHAD, NX protocol compression and NX extensions to this software */
 /* are copyright of NoMachine. Redistribution and use of the present      */


hooks/post-receive
-- 
nx-libs.git (NX (redistributed))

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "nx-libs.git" (NX (redistributed)).




More information about the x2go-commits mailing list