Commit 5027f1e8 authored by Mike Gabriel's avatar Mike Gabriel

Add folder /debian/patches-pending-evaluation with two newly discovered patches…

Add folder /debian/patches-pending-evaluation with two newly discovered patches from git.etersoft.ru (AltLinux packaging repository for NX).
parent a05b5603
......@@ -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@das-netzwerkteam.de> Mon, 16 Jan 2012 22:28:13 +0100
......
From: Vitaly Lipatov <lav@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;
From: Boris Savelev <boris@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:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment