Exec `wineclipsrv' not `wineclipsvr', and don't inherit wine's X
sockets to it (otherwise windows stay around when wine hangs).
This commit is contained in:
parent
e582158788
commit
7cc0e274f4
|
@ -53,6 +53,7 @@
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
#include "ts_xlib.h"
|
#include "ts_xlib.h"
|
||||||
|
|
||||||
|
@ -240,6 +241,13 @@ BOOL X11DRV_CLIPBOARD_LaunchServer()
|
||||||
|
|
||||||
int dbgClasses = 0;
|
int dbgClasses = 0;
|
||||||
char selMask[8], dbgClassMask[8], clearSelection[8];
|
char selMask[8], dbgClassMask[8], clearSelection[8];
|
||||||
|
int i;
|
||||||
|
|
||||||
|
/* Don't inherit wine's X sockets to the wineclipsrv, otherwise
|
||||||
|
* windows stay around when you have to kill a hanging wine...
|
||||||
|
*/
|
||||||
|
for (i = 3; i < 256; ++i)
|
||||||
|
fcntl(i, F_SETFD, 1);
|
||||||
|
|
||||||
sprintf(selMask, "%d", selectionAcquired);
|
sprintf(selMask, "%d", selectionAcquired);
|
||||||
|
|
||||||
|
@ -257,10 +265,10 @@ BOOL X11DRV_CLIPBOARD_LaunchServer()
|
||||||
PROFILE_GetWineIniInt("Clipboard", "ClearAllSelections", 0));
|
PROFILE_GetWineIniInt("Clipboard", "ClearAllSelections", 0));
|
||||||
|
|
||||||
/* Exec the clipboard server passing it the selection and debug class masks */
|
/* Exec the clipboard server passing it the selection and debug class masks */
|
||||||
execl( BINDIR "/wineclipsvr", "wineclipsvr",
|
execl( BINDIR "/wineclipsrv", "wineclipsrv",
|
||||||
selMask, dbgClassMask, clearSelection, NULL );
|
selMask, dbgClassMask, clearSelection, NULL );
|
||||||
execlp( "wineclipsvr", "wineclipsvr", selMask, dbgClassMask, clearSelection, NULL );
|
execlp( "wineclipsrv", "wineclipsrv", selMask, dbgClassMask, clearSelection, NULL );
|
||||||
execl( "./windows/x11drv/wineclipsvr", "wineclipsvr",
|
execl( "./windows/x11drv/wineclipsrv", "wineclipsrv",
|
||||||
selMask, dbgClassMask, clearSelection, NULL );
|
selMask, dbgClassMask, clearSelection, NULL );
|
||||||
|
|
||||||
/* Exec Failed! */
|
/* Exec Failed! */
|
||||||
|
|
Loading…
Reference in New Issue