[X2go-Commits] nx-libs.git - master (branch) updated: redist-server/3.5.0.7-4-g5027f1e
X2go dev team
git-admin at x2go.org
Sun Jan 22 22:49:12 CET 2012
The branch, master has been updated
via 5027f1e8b5d0a3571272e3eff4aa86bb8cae55f0 (commit)
from a05b56038d0154b3e4f0ce7facbb770e2a97063d (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 -----------------------------------------------------------------
commit 5027f1e8b5d0a3571272e3eff4aa86bb8cae55f0
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Sun Jan 22 22:47:30 2012 +0100
Add folder /debian/patches-pending-evaluation with two newly discovered patches from git.etersoft.ru (AltLinux packaging repository for NX).
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 2 +
.../fix-fprintf-usage.patch | 31 ++
.../fix-icon-and-clipboard.patch | 566 ++++++++++++++++++++
3 files changed, 599 insertions(+), 0 deletions(-)
create mode 100644 debian/patches-pending-evaluation/fix-fprintf-usage.patch
create mode 100644 debian/patches-pending-evaluation/fix-icon-and-clipboard.patch
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 984f6eb..ebf996c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,6 +5,8 @@ nx-libs (2:3.5.0.8-0) UNRELEASED; urgency=low
* Update patch: 001_add-main-makefile.full+lite.patch, only build, install,
clean etc. NX subprojects if the folder exists.
* Package x2goagent is an ,,all'' package, not ,,any''.
+ * Add folder /debian/patches-pending-evaluation with two newly discovered
+ patches from git.etersoft.ru (AltLinux packaging repository for NX).
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Mon, 16 Jan 2012 22:28:13 +0100
diff --git a/debian/patches-pending-evaluation/fix-fprintf-usage.patch b/debian/patches-pending-evaluation/fix-fprintf-usage.patch
new file mode 100644
index 0000000..4abda60
--- /dev/null
+++ b/debian/patches-pending-evaluation/fix-fprintf-usage.patch
@@ -0,0 +1,31 @@
+From: Vitaly Lipatov <lav at etersoft.ru>
+Date: Wed, 3 Jun 2009 00:49:01 +0000 (+0400)
+Subject: fix fprintf using
+X-Git-Tag: 3.3.0-alt16.1~1^2
+X-Git-Url: http://git.etersoft.ru?p=rx%2Fnx.git;a=commitdiff_plain;h=f68888aab5c92e99f398f5fe7407edf09e2c86ce
+
+ fix fprintf using
+
++--- a/nx-X11/config/imake/imake.c
+++++ b/nx-X11/config/imake/imake.c
++@@ -1015,7 +1015,7 @@ get_libc_version(FILE *inFile)
++ abort ();
++
++ while (fgets (command, len, fp))
++- fprintf (inFile, command);
+++ fwrite (command, strlen(command), 1, inFile);
++
++ len = pclose (fp);
++ remove (aout);
++
++--- a/nx-X11/extras/rman/rman.c.orig 2009-06-03 04:29:39 +0400
+++++ b/nx-X11/extras/rman/rman.c 2009-06-03 05:19:07 +0400
++@@ -1432,7 +1432,7 @@ HTML(enum command cmd)
++ break;
++ case BEGINSECTION: break;
++ case ENDSECTION:
++- if (sectheadid==NAME && message!=NULL) printf(message);
+++ if (sectheadid==NAME && message!=NULL) printf("%s",message);
++ break;
++ case BEGINSUBSECTION: break;
++ case ENDSUBSECTION: break;
diff --git a/debian/patches-pending-evaluation/fix-icon-and-clipboard.patch b/debian/patches-pending-evaluation/fix-icon-and-clipboard.patch
new file mode 100644
index 0000000..e4faef0
--- /dev/null
+++ b/debian/patches-pending-evaluation/fix-icon-and-clipboard.patch
@@ -0,0 +1,566 @@
+From: Boris Savelev <boris at altlinux.org>
+Date: Fri, 11 Jul 2008 13:50:46 +0000 (+0400)
+Subject: fix icons and clipboard (thanks to dimbor)
+X-Git-Tag: 3.3.0-alt2~24
+X-Git-Url: http://git.etersoft.ru?p=rx%2Fnx.git;a=commitdiff_plain;h=c51ec5f4afcbf6199da5343f52241f6ef8edbbfb
+
+fix icons and clipboard (thanks to dimbor)
+---
+
+diff --git a/nxwin/programs/Xserver/hw/nxwin/wincutpaste.c b/nxwin/programs/Xserver/hw/nxwin/wincutpaste.c
+index 862f75a..5405568 100644
+--- a/nxwin/programs/Xserver/hw/nxwin/wincutpaste.c
++++ b/nxwin/programs/Xserver/hw/nxwin/wincutpaste.c
+@@ -78,6 +78,8 @@
+
+ #define MIN(a,b) ((a) < (b) ? (a) : (b))
+
++/*#define NXWIN_CLIPBOARD_DEBUG*/
++
+ extern WindowPtr *WindowTable;
+ extern Selection *CurrentSelections;
+ extern int NumCurrentSelections;
+@@ -96,6 +98,8 @@ Atom clientTARGETS;
+ Atom clientTEXT;
+ Atom clientCutProperty;
+ Atom clientCLIPBOARD;
++Atom UTF8_STRING;
++Atom COMPOUND_TEXT;
+
+ Bool windowsOwner = FALSE;
+ Bool clientOwner = FALSE;
+@@ -119,7 +123,7 @@ void nxwinClearSelection(void)
+ return;
+
+ #ifdef NXWIN_CLIPBOARD_DEBUG
+- ErrorF("ClearSelection\n");
++ ErrorF("%d nxwinClearSelection: ClearSelection\n",GetTickCount());
+ #endif
+
+ for (i = 0; i < MIN(MaxSelections, NumCurrentSelections); i++)
+@@ -155,8 +159,16 @@ void nxwinInitSelection(HWND hwnd)
+ clientTEXT = MakeAtom("TEXT", strlen("TEXT"), TRUE);
+ clientCutProperty = MakeAtom("NX_CUT_BUFFER_CLIENT", strlen("NX_CUT_BUFFER_CLIENT"), TRUE);
+ clientCLIPBOARD = MakeAtom("CLIPBOARD", strlen("CLIPBOARD"), TRUE);
++/* */
++ UTF8_STRING = MakeAtom("UTF8_STRING", strlen("UTF8_STRING"), TRUE);
++ COMPOUND_TEXT = MakeAtom("COMPOUND_TEXT", strlen("COMPOUND_TEXT"), TRUE);
++/* */
+ nxwinClipboardStatus = TRUE;
+ windowsOwner = TRUE;
++#ifdef NXWIN_CLIPBOARD_DEBUG
++/* ErrorF("%d nxwinInitSelection\n",GetTickCount());
++*/
++#endif
+ /* nxwinSetWindowClipboard(" ");*/
+ }
+
+@@ -165,15 +177,17 @@ void nxwinSetSelectionOwner(Selection *pSelection)
+ if (!nxwinClipboardStatus)
+ return;
+
+-#ifdef NXWIN_CLIPBOARD_DEBUG
+- ErrorF("SetSelectionOwner\n");
+-#endif
+
+ lastOwnerWindowPtr = pSelection->pWin;
+ lastOwnerWindow = pSelection->window;
+ lastOwnerClientPtr = pSelection->client;
+
+ nxwinSelection = TRUE;
++
++#ifdef NXWIN_CLIPBOARD_DEBUG
++/* ErrorF("%d nxwinSetSelectionOwner: window [%p], pWin [%p]\n",GetTickCount(),pSelection->window,pSelection->pWin);
++*/
++#endif
+ /*
+ if (pSelection->selection == XA_PRIMARY)
+ {
+@@ -194,21 +208,67 @@ void nxwinSetSelectionOwner(Selection *pSelection)
+ NoEventMask, NoEventMask ,
+ NullGrab);
+ #ifdef NXWIN_CLIPBOARD_DEBUG
+- ErrorF("SetSelectionOwner XA_PRIMARY \n");
++ ErrorF(" nxwinSetSelectionOwner: SetSelectionOwner XA_PRIMARY \n");
+ #endif
+
+ windowsOwner = FALSE;
+ }
+ */
++
++}
++
++/* ------------------ My ------------------------------------------- */
++char * unicode_to_some_cp(wchar_t *unicode_string, int CP)
++{
++ int err;
++ char * res;
++ int res_len = WideCharToMultiByte(
++ CP, // Code page
++ 0, // Default replacement of illegal chars
++ unicode_string, // Multibyte characters string
++ -1, // Number of unicode chars is not known
++ NULL, // No buffer yet, allocate it later
++ 0, // No buffer
++ NULL, // Use system default
++ NULL // We are not interested whether the default char was used
++ );
++ if (res_len == 0)
++ {
++ return NULL;
++ }
++ res = malloc(res_len);
++ if (res == NULL)
++ {
++ return NULL;
++ }
++ err = WideCharToMultiByte(
++ CP, // Code page
++ 0, // Default replacement of illegal chars
++ unicode_string, // Multibyte characters string
++ -1, // Number of unicode chars is not known
++ res, // Output buffer
++ res_len, // buffer size
++ NULL, // Use system default
++ NULL // We are not interested whether the default char was used
++ );
++ if (err == 0)
++ {
++ free(res);
++ return NULL;
++ }
++ return res;
+ }
+
++
++/* ------------------ My ------------------------------------------- */
++
+ Bool nxwinConvertSelection(ClientPtr client ,WindowPtr pWin, Atom selection, Window requestor, Atom property, Atom target, Time time)
+ {
+ if (!nxwinClipboardStatus)
+ return 0;
+
+ #ifdef NXWIN_CLIPBOARD_DEBUG
+- ErrorF("ConvertSelection\n");
++ ErrorF("%d nxwinConvertSelection: pWin [%p], selection [%s], target [%s]\n",GetTickCount(),pWin,NameForAtom(selection),NameForAtom(target));
+ #endif
+
+ if (!windowsOwner) /* there is a X client owner, let normal stuff happens */
+@@ -236,20 +296,25 @@ Bool nxwinConvertSelection(ClientPtr client ,WindowPtr pWin, Atom selection, Win
+ return 1;
+ }
+
+-#ifdef NXWIN_CLIPBOARD_DEBUG
+- ErrorF("ConvertSelection converting...\n");
+-#endif
+
+- if ((target == clientTEXT) || (target == XA_STRING))
++ if ((target == clientTEXT) || (target == XA_STRING) || (target == UTF8_STRING))
+ {
+ HGLOBAL hGlobal;
+ char *pszGlobalData;
+ xEvent x;
+
++ char *pszData=NULL;
++
+ /* Access the clipboard */
+ if (!OpenClipboard (lastHwnd)) return 0;
+-
+- hGlobal = GetClipboardData (CF_TEXT);
++ if (target == UTF8_STRING)
++ {
++ hGlobal = GetClipboardData (CF_UNICODETEXT);
++ }
++ else
++ {
++ hGlobal = GetClipboardData (CF_TEXT);
++ }
+ if (!hGlobal)
+ {
+ CloseClipboard();
+@@ -264,10 +329,29 @@ Bool nxwinConvertSelection(ClientPtr client ,WindowPtr pWin, Atom selection, Win
+ return 1;
+ }
+ pszGlobalData = (char *) GlobalLock (hGlobal);
+-
+- /* Convert DOS string to UNIX string */
+- DOStoUNIX (pszGlobalData, strlen (pszGlobalData));
+-
++
++ if (target == UTF8_STRING)
++ {
++ /* Convert DOS string to UNIX string */
++ DOStoUNIX (pszGlobalData, strlen (pszGlobalData));
++ pszData = unicode_to_some_cp((wchar_t *) pszGlobalData,CP_UTF8);
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF(" Set sel [%s], target [%s], prop [%s] to UTF-8 string [%s]\n",NameForAtom(selection),NameForAtom(target),NameForAtom(property),pszData);
++#endif
++ /* Copy the clipboard text to the requesting window */
++ ChangeWindowProperty(pWin,
++ property,
++ target,
++ 8,
++ PropModeReplace,
++ strlen(pszData),
++ pszData, 1);
++ }
++ else
++ {
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF(" Set sel [%s], target [%s], prop [%s] to CP-1251 string [%s]\n",NameForAtom(selection),NameForAtom(target),NameForAtom(property),pszGlobalData);
++#endif
+ /* Copy the clipboard text to the requesting window */
+ ChangeWindowProperty(pWin,
+ property,
+@@ -276,12 +360,16 @@ Bool nxwinConvertSelection(ClientPtr client ,WindowPtr pWin, Atom selection, Win
+ PropModeReplace,
+ strlen(pszGlobalData),
+ pszGlobalData, 1);
++ }
+
+ /* Release the clipboard data */
+ GlobalUnlock (hGlobal);
+ pszGlobalData = NULL;
+ CloseClipboard ();
+
++ if (pszData != NULL)
++ free (pszData);
++
+ x.u.u.type = SelectionNotify;
+ x.u.selectionNotify.time = time;
+ x.u.selectionNotify.requestor = requestor;
+@@ -370,6 +458,7 @@ UNIXtoDOS (char **ppszData, int iLength)
+ }
+
+
++
+ void
+ DOStoUNIX (char *pszSrc, int iLength)
+ {
+@@ -401,8 +490,11 @@ void nxwinSetWindowClipboard(char *text, int iLength)
+ char *pszGlobalData;
+ char *pszTemp;
+
++
+ if (!nxwinClipboardStatus)
++ {
+ return;
++ }
+
+ if (OpenClipboard(lastHwnd))
+ {
+@@ -440,6 +532,9 @@ void nxwinSetWindowClipboard(char *text, int iLength)
+ /* free the allocated memory */
+ xfree(pszTemp);
+
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF("%d nxwinSetWindowClipboard: [%s].\n",GetTickCount(),pszGlobalData);
++#endif
+ /* Release the pointer to the global memory */
+ GlobalUnlock (hGlobal);
+ pszGlobalData = NULL;
+@@ -466,10 +561,14 @@ Bool nxwinSendNotify(xEvent* x)
+ int iReturn;
+
+ #ifdef NXWIN_CLIPBOARD_DEBUG
+- ErrorF("SendNotify\n");
++ ErrorF("%d nxwinSendNotify: pwin [%p];",GetTickCount(),lastOwnerWindowPtr);
++ ErrorF(" x->u.u.type [%s]; x->u.selectionNotify: property [%s]; target [%s]; selection [%s]",NameForAtom(x->u.u.type),NameForAtom(x->u.selectionNotify.property),NameForAtom(x->u.selectionNotify.target),NameForAtom(x->u.selectionNotify.selection));
+ #endif
+ if (x->u.selectionNotify.property == clientCutProperty)
+ {
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF("\n");
++#endif
+ Atom atomReturnType;
+ int iReturnFormat;
+ unsigned long ulReturnItems;
+@@ -479,13 +578,26 @@ Bool nxwinSendNotify(xEvent* x)
+ AnyPropertyType, &atomReturnType, &iReturnFormat,
+ &ulReturnItems, &ulReturnBytesLeft, &pszReturnData);
+
++/*
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF("nxwinSendNotify: called 1-st GetWindowProperty - status = %d, ulReturnBytesLeft = %d\n",Success,ulReturnBytesLeft);
++#endif
++*/
+ if ((iReturn == Success) && (ulReturnBytesLeft > 0))
+ {
+ iReturn = GetWindowProperty(lastOwnerWindowPtr,clientCutProperty,0,ulReturnBytesLeft, FALSE,
+ AnyPropertyType, &atomReturnType, &iReturnFormat,
+ &ulReturnItems, &ulReturnBytesLeft, &pszReturnData);
++/*
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF("nxwinSendNotify: called 2-nd GetWindowProperty - status=%d, ulReturnItems=%d\n",Success,ulReturnItems);
++#endif
++*/
+ if ((iReturn == Success) && (ulReturnItems > 0))
+ {
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF(" AtomReturnType [%s]\n",NameForAtom(atomReturnType));
++#endif
+ nxwinSetWindowClipboard(pszReturnData, ulReturnItems);
+
+ clientOwner = TRUE;
+@@ -495,6 +607,9 @@ Bool nxwinSendNotify(xEvent* x)
+ }
+ }
+ }
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ else ErrorF(" !! MISSED !!\n");
++#endif
+ return FALSE;
+ }
+
+@@ -512,19 +627,27 @@ void nxwinLostFocus(void)
+ if (lastOwnerWindowPtr)
+ {
+ xEvent x;
++#ifdef NXWIN_CLIPBOARD_DEBUG
++ ErrorF("%d nxwinLostFocus: lastOwnerWindow [%p]; pWin [%p]; target [%s]; prop [%s]\n",GetTickCount(),lastOwnerWindow,lastOwnerWindowPtr,NameForAtom(XA_STRING),NameForAtom(clientCutProperty));
++#endif
+
+ x.u.u.type = SelectionRequest;
+ x.u.selectionRequest.time = GetTimeInMillis();
+ x.u.selectionRequest.owner = lastOwnerWindow;
+ x.u.selectionRequest.requestor = WindowTable[0]->drawable.id;
+- x.u.selectionRequest.selection = XA_PRIMARY;
++/* My changes */
++/*
++ x.u.selectionRequest.selection = XA_PRIMARY;
++*/
++ x.u.selectionRequest.selection = clientCLIPBOARD;
++/* My changes */
+ x.u.selectionRequest.target = XA_STRING;
+ x.u.selectionRequest.property = clientCutProperty;
+-
+ (void) TryClientEvents (lastOwnerClientPtr, &x, 1,
+ NoEventMask, NoEventMask /* CantBeFiltered */,
+ NullGrab);
+ SetCriticalOutputPending();
++
+ }
+ }
+
+diff --git a/nxwin/programs/Xserver/hw/nxwin/winmultiwindowwm.c b/nxwin/programs/Xserver/hw/nxwin/winmultiwindowwm.c
+index e8149c7..a09d227 100644
+--- a/nxwin/programs/Xserver/hw/nxwin/winmultiwindowwm.c
++++ b/nxwin/programs/Xserver/hw/nxwin/winmultiwindowwm.c
+@@ -408,7 +408,9 @@ privateGetWindowName(void *pWin, char **ppName, Atom atom)
+ if( (retValue = GetWindowProperty(pWin, atom, 0L, 0L, False,
+ AnyPropertyType, &retType, &retFormat,
+ &nItems, &bytesLeft, (unsigned char**)NULL)) != Success){
+- ErrorF("GetWindowName: GetWindowProperty failed\n");
++#ifdef NXWIN_MULTIWINDOW_DEBUG
++ ErrorF("GetWindowName: GetWindowProperty /length/ failed\n");
++#endif
+ return retValue;
+ }
+ origLen = bytesLeft;
+@@ -417,7 +419,9 @@ privateGetWindowName(void *pWin, char **ppName, Atom atom)
+ if( (retValue = GetWindowProperty(pWin, atom, 0L, bytesLeft, False,
+ AnyPropertyType, &retType, &retFormat,
+ &nItems, &bytesLeft, (unsigned char**)ppName)) != Success){
+- ErrorF("GetWindowName: GetWindowProperty failed\n");
++#ifdef NXWIN_MULTIWINDOW_DEBUG
++ ErrorF("GetWindowName: GetWindowProperty /value/ failed\n");
++#endif
+ free(strName);
+ return retValue;
+ }
+@@ -448,8 +452,16 @@ GetWindowName (void *pWin, char **ppName)
+
+ /* TRY with ATOM WM_NAME */
+ reqAtom = XA_WM_NAME;
+- if( privateGetWindowName(pWin, ppName, reqAtom) == Success )
++ if( privateGetWindowName(pWin, ppName, reqAtom) == Success )
++/* ------------------ My crooked additions ------------------------------------------- */
++/* sometimes *ppName is present and zero length - anyway need to try second atom */
++ { if (strlen(*ppName) > 0)
++ {
+ return;
++ }
++ else free(*ppName);
++ }
++/* ------------------ My crooked additions ------------------------------------------- */
+ reqAtom = MakeAtom(atom_NET_WM_NAME, sizeof(atom_NET_WM_NAME) - 1, True);
+ privateGetWindowName(pWin, ppName, reqAtom);
+ }
+@@ -537,6 +549,98 @@ winMultStackWindow(pWin, val)
+ return 1;
+ }
+
++/* ------------------ My crooked additions ------------------------------------------- */
++wchar_t * utf8_to_unicode(char *utf8_string)
++{
++ int err;
++ wchar_t * res;
++ int res_len = 1000;
++ res = malloc(res_len);
++ err = MultiByteToWideChar(
++ CP_UTF8, // Code page
++ 0, // No flags
++ utf8_string, // Multibyte characters string
++ -1, // The string is NULL terminated
++ res, // Output buffer
++ res_len // buffer size
++ );
++ if (err == 0)
++ {
++// printf("Failed to convert to unicode\n");
++ free(res);
++ return NULL;
++ }
++ return res;
++}
++
++void
++winSetWinName (WMMsgNodePtr pNode)
++{
++ {
++ /*XWindowAttributes attr;*/
++ char *pszName;
++ wchar_t *pszWName;
++#if 0
++ XWMHints *pHints;
++#endif
++ /* Get the window attributes */
++ /*
++ XGetWindowAttributes (pWMInfo->pDisplay,
++ pNode->msg.iWindow,
++ &attr);
++ */
++ if (!winGetOverrideRedirectPriv(pNode->msg.pWin))
++ {
++#ifdef NXWIN_MULTIWINDOW
++#ifdef NXWIN_MULTIWINDOW_DEBUG
++ if(nxwinMultiwindow)
++ ErrorF("winMultiWindowWMProc: LOCK before GetWindowName\n");
++ else
++ ErrorF("winMultiWindowWMProc: before GetWindowName\n");
++#endif
++ if(nxwinMultiwindow && pthread_mutex_lock(&nxwinMultiwindowMutex))
++ ErrorF("winMultiWindowWMProc: pthread_mutex_lock failed\n");
++#endif
++ /* Set the Windows window name */
++ GetWindowName(pNode->msg.pWin, &pszName);
++#ifdef NXWIN_MULTIWINDOW
++#ifdef NXWIN_MULTIWINDOW_DEBUG
++ if(nxwinMultiwindow)
++ ErrorF("winMultiWindowWMProc: UNLOCK after GetWindowName\n");
++ else
++ ErrorF("winMultiWindowWMProc: after GetWindowName\n");
++#endif
++ if(nxwinMultiwindow && pthread_mutex_unlock(&nxwinMultiwindowMutex) != 0)
++ ErrorF("winMultiWindowWMProc: !!! pthread_mutex_unlock failed\n");
++#endif
++ if(!pszName){
++ ErrorF("winMultiWindowWMProc: GetWindowName failed\n");
++ return;
++ }
++
++#ifdef NXWIN_MULTIWINDOW_DEBUG
++ ErrorF("winMultiWindowWMProc!!!: Window title before converting - %s\n",pszName);
++#endif
++/* if you know, how to get system charset from server, tell me about them */
++ pszWName = utf8_to_unicode(pszName);
++#ifdef NXWIN_MULTIWINDOW_DEBUG
++ ErrorF("winMultiWindowWMProc!!!: Window title after converting - %s\n",pszWName);
++#endif
++ SetWindowTextW (pNode->msg.hwndWindow, pszWName);
++// SetWindowText (pNode->msg.hwndWindow, pszName);
++
++#ifdef NXWIN_MULTIWINDOW_DEBUG
++ ErrorF("winMultiWindowWMProc: Insert here LoadIcon\n");
++#endif
++ free (pszName);
++ if (pszWName != NULL)
++ free (pszWName);
++ }
++ }
++}
++/* -----------End of my crooked additions ------------------------------------------- */
++
++
+ static void *
+ winMultiWindowWMProc (void *pArg)
+ {
+@@ -599,6 +703,10 @@ winMultiWindowWMProc (void *pArg)
+ /*
+ XRaiseWindow (pWMInfo->pDisplay, pNode->msg.iWindow);
+ */
++
++/* ------------------ My crooked additions ------------------------------------------- */
++ winSetWinName (pNode);
++/* -----------End of my crooked additions ------------------------------------------- */
+ break;
+
+ case WM_WM_LOWER:
+@@ -617,54 +725,9 @@ winMultiWindowWMProc (void *pArg)
+ #if CYGMULTIWINDOW_DEBUG
+ ErrorF ("\tWM_WM_MAP\n");
+ #endif
+- {
+- /*XWindowAttributes attr;*/
+- char *pszName;
+-#if 0
+- XWMHints *pHints;
+-#endif
+-
+- /* Get the window attributes */
+- /*
+- XGetWindowAttributes (pWMInfo->pDisplay,
+- pNode->msg.iWindow,
+- &attr);
+- */
+- if (!winGetOverrideRedirectPriv(pNode->msg.pWin))
+- {
+-#ifdef NXWIN_MULTIWINDOW
+-#ifdef NXWIN_MULTIWINDOW_DEBUG
+- if(nxwinMultiwindow)
+- ErrorF("winMultiWindowWMProc: LOCK before GetWindowName\n");
+- else
+- ErrorF("winMultiWindowWMProc: before GetWindowName\n");
+-#endif
+- if(nxwinMultiwindow && pthread_mutex_lock(&nxwinMultiwindowMutex))
+- ErrorF("winMultiWindowWMProc: pthread_mutex_lock failed\n");
+-#endif
+- /* Set the Windows window name */
+- GetWindowName(pNode->msg.pWin, &pszName);
+-#ifdef NXWIN_MULTIWINDOW
+-#ifdef NXWIN_MULTIWINDOW_DEBUG
+- if(nxwinMultiwindow)
+- ErrorF("winMultiWindowWMProc: UNLOCK after GetWindowName\n");
+- else
+- ErrorF("winMultiWindowWMProc: after GetWindowName\n");
+-#endif
+- if(nxwinMultiwindow && pthread_mutex_unlock(&nxwinMultiwindowMutex) != 0)
+- ErrorF("winMultiWindowWMProc: !!! pthread_mutex_unlock failed\n");
+-#endif
+- if(!pszName){
+- ErrorF("winMultiWindowWMProc: GetWindowName failed\n");
+- break;
+- }
+- SetWindowText (pNode->msg.hwndWindow, pszName);
+-#ifdef NXWIN_MULTIWINDOW_DEBUG
+- ErrorF("winMultiWindowWMProc: Insert here LoadIcon\n");
+-#endif
+- free (pszName);
+- }
+- }
++/* ------------------ My crooked additions ------------------------------------------- */
++ winSetWinName (pNode);
++/* -----------End of my crooked additions ------------------------------------------- */
+ break;
+
+ case WM_WM_UNMAP:
+@@ -904,6 +967,9 @@ winMultiWindowWMProc (void *pArg)
+ if(nxwinMultiwindow && pthread_mutex_unlock(&nxwinMultiwindowMutex))
+ ErrorF("!!! pthread_mutex_unlock failed\n");
+ #endif
++/* ------------------ My crooked additions ------------------------------------------- */
++ winSetWinName (pNode);
++/* -----------End of my crooked additions ------------------------------------------- */
+ break;
+ #if 0
+ case WM_WM_X_EVENT:
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