diff options
author | lofi <lofi@FreeBSD.org> | 2004-10-22 04:38:34 +0800 |
---|---|---|
committer | lofi <lofi@FreeBSD.org> | 2004-10-22 04:38:34 +0800 |
commit | 43e7ec56da965a644479e712b38bf3f4a862b4e8 (patch) | |
tree | 59c1808b2f06938fffdeed2194e050d810950acb /net | |
parent | 18bb096d0af988592f52559902cf01307ebc19c2 (diff) | |
download | freebsd-ports-gnome-43e7ec56da965a644479e712b38bf3f4a862b4e8.tar.gz freebsd-ports-gnome-43e7ec56da965a644479e712b38bf3f4a862b4e8.tar.zst freebsd-ports-gnome-43e7ec56da965a644479e712b38bf3f4a862b4e8.zip |
Fix rdesktop with KDE 3.3's krdc.
PR: ports/72975
Submitted by: maintainer
Diffstat (limited to 'net')
-rw-r--r-- | net/rdesktop/Makefile | 2 | ||||
-rw-r--r-- | net/rdesktop/files/patch-rdesktop | 76 |
2 files changed, 77 insertions, 1 deletions
diff --git a/net/rdesktop/Makefile b/net/rdesktop/Makefile index 22dc0953eb9b..9f60ad482c79 100644 --- a/net/rdesktop/Makefile +++ b/net/rdesktop/Makefile @@ -7,7 +7,7 @@ PORTNAME= rdesktop PORTVERSION= 1.3.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net comms MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} diff --git a/net/rdesktop/files/patch-rdesktop b/net/rdesktop/files/patch-rdesktop new file mode 100644 index 000000000000..6f352917d479 --- /dev/null +++ b/net/rdesktop/files/patch-rdesktop @@ -0,0 +1,76 @@ +--- rdesktop.c.orig 2004-03-08 18:02:58.000000000 +0100 ++++ rdesktop.c 2004-03-09 22:32:19.000000000 +0100 +@@ -27,6 +27,7 @@ + #include <sys/time.h> /* gettimeofday */ + #include <sys/times.h> /* times */ + #include <errno.h> ++#include <X11/Xlib.h> /* Window */ + #include "rdesktop.h" + + #ifdef EGD_SOCKET +@@ -68,6 +69,7 @@ + BOOL g_console_session = False; + BOOL g_numlock_sync = False; + extern BOOL g_owncolmap; ++extern Window g_embed_wnd; + + #ifdef WITH_RDPSND + BOOL g_rdpsnd = False; +@@ -112,6 +114,7 @@ + fprintf(stderr, " -S: caption button size (single application mode)\n"); + fprintf(stderr, " -T: window title\n"); + fprintf(stderr, " -N: enable numlock synchronisation\n"); ++ fprintf(stderr, " -X: embed into another window with a given id.\n"); + fprintf(stderr, " -a: connection colour depth\n"); + fprintf(stderr, " -r: enable specified device redirection (currently: sound)\n"); + fprintf(stderr, " -0: attach to console\n"); +@@ -224,6 +227,7 @@ + prompt_password = False; + domain[0] = password[0] = shell[0] = directory[0] = 0; + strcpy(keymapname, "en-us"); ++ g_embed_wnd = 0; + + #ifdef RDP2VNC + #define VNCOPT "V:Q:" +@@ -231,7 +235,7 @@ + #define VNCOPT + #endif + +- while ((c = getopt(argc, argv, VNCOPT "u:d:s:c:p:n:k:g:fbeEmCDKS:T:Na:r:045h?")) != -1) ++ while ((c = getopt(argc, argv, VNCOPT "u:d:s:c:p:n:k:g:fbeEmCDKS:T:NX:a:r:045h?")) != -1) + { + switch (c) + { +@@ -374,6 +378,10 @@ + g_numlock_sync = True; + break; + ++ case 'X': ++ g_embed_wnd = strtod(optarg, NULL); ++ break; ++ + case 'a': + g_server_bpp = strtol(optarg, NULL, 10); + if (g_server_bpp != 8 && g_server_bpp != 16 && g_server_bpp != 15 +--- xwin.c.orig 2004-03-08 18:02:58.000000000 +0100 ++++ xwin.c 2004-03-10 16:17:59.000000000 +0100 +@@ -41,6 +41,7 @@ + static int g_x_socket; + static Screen *g_screen; + Window g_wnd; ++Window g_embed_wnd; + BOOL g_enable_compose = False; + static GC g_gc; + static BOOL g_gc_initialized = False; +@@ -929,6 +930,11 @@ + XFree(sizehints); + } + ++ if ( g_embed_wnd ) ++ { ++ XReparentWindow(g_display, g_wnd, g_embed_wnd, 0, 0); ++ } ++ + input_mask = KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask | + VisibilityChangeMask | FocusChangeMask; + |