From: <js...@us...> - 2009-10-25 23:37:43
|
Revision: 1521 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1521&view=rev Author: jsorg71 Date: 2009-10-25 23:37:26 +0000 (Sun, 25 Oct 2009) Log Message: ----------- Fix annoying problem where screen doesn't update until you move the mouse, caused by xwin.c revision 886 Revision Links: -------------- http://rdesktop.svn.sourceforge.net/rdesktop/?rev=886&view=rev Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2009-10-25 21:36:17 UTC (rev 1520) +++ rdesktop/trunk/xwin.c 2009-10-25 23:37:26 UTC (rev 1521) @@ -3735,6 +3735,7 @@ void ui_end_update(void) { + XFlush(g_display); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2010-01-07 18:39:30
|
Revision: 1525 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1525&view=rev Author: astrand Date: 2010-01-07 18:39:20 +0000 (Thu, 07 Jan 2010) Log Message: ----------- Indented on Fedora 11 Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2010-01-07 18:31:16 UTC (rev 1524) +++ rdesktop/trunk/xwin.c 2010-01-07 18:39:20 UTC (rev 1525) @@ -2099,7 +2099,8 @@ /* create invisible 1x1 cursor to be used as null cursor */ if (g_null_cursor == NULL) - g_null_cursor = ui_create_cursor(0, 0, 1, 1, null_pointer_mask, null_pointer_data, 24); + g_null_cursor = + ui_create_cursor(0, 0, 1, 1, null_pointer_mask, null_pointer_data, 24); if (g_seamless_rdp) { @@ -2774,12 +2775,12 @@ /* convert next pixel to 32 bpp */ static int -get_next_xor_pixel(uint8 * xormask, int bpp, int * k) +get_next_xor_pixel(uint8 * xormask, int bpp, int *k) { int rv = 0; PixelColour pc; - uint8 * s8; - uint16 * s16; + uint8 *s8; + uint16 *s16; switch (bpp) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2010-01-12 09:58:22
|
Revision: 1537 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1537&view=rev Author: astrand Date: 2010-01-12 09:58:16 +0000 (Tue, 12 Jan 2010) Log Message: ----------- The background_pixel was specified twice, both as black and white. Leave it as black. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2010-01-12 08:42:48 UTC (rev 1536) +++ rdesktop/trunk/xwin.c 2010-01-12 09:58:16 UTC (rev 1537) @@ -1964,7 +1964,6 @@ get_window_attribs(XSetWindowAttributes * attribs) { attribs->background_pixel = BlackPixelOfScreen(g_screen); - attribs->background_pixel = WhitePixelOfScreen(g_screen); attribs->border_pixel = WhitePixelOfScreen(g_screen); attribs->backing_store = g_ownbackstore ? NotUseful : Always; attribs->override_redirect = g_fullscreen; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2010-01-13 14:53:51
|
Revision: 1546 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1546&view=rev Author: astrand Date: 2010-01-13 14:53:43 +0000 (Wed, 13 Jan 2010) Log Message: ----------- Improve robustness: Make sure we don't act on window events for windows that no longer exists. (This shouldn't happen with the current code base, but will be a problem when multiple main windows and created and destroyed through the process lifetime.) Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2010-01-13 13:51:06 UTC (rev 1545) +++ rdesktop/trunk/xwin.c 2010-01-13 14:53:43 UTC (rev 1546) @@ -2158,6 +2158,7 @@ XDestroyIC(g_IC); XDestroyWindow(g_display, g_wnd); + g_wnd = NULL; } void @@ -2294,6 +2295,10 @@ { XNextEvent(g_display, &xevent); + if (g_wnd == NULL) + /* Ignore events between ui_destroy_window and ui_create_window */ + continue; + if ((g_IC != NULL) && (XFilterEvent(&xevent, None) == True)) { DEBUG_KBD(("Filtering event\n")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2010-01-13 16:22:42
|
Revision: 1548 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1548&view=rev Author: astrand Date: 2010-01-13 16:22:35 +0000 (Wed, 13 Jan 2010) Log Message: ----------- g_wnd is not a pointer. Use 0 instead of NULL to avoid warnings. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2010-01-13 16:07:29 UTC (rev 1547) +++ rdesktop/trunk/xwin.c 2010-01-13 16:22:35 UTC (rev 1548) @@ -2158,7 +2158,7 @@ XDestroyIC(g_IC); XDestroyWindow(g_display, g_wnd); - g_wnd = NULL; + g_wnd = 0; } void @@ -2295,7 +2295,7 @@ { XNextEvent(g_display, &xevent); - if (g_wnd == NULL) + if (!g_wnd) /* Ignore events between ui_destroy_window and ui_create_window */ continue; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2010-01-18 10:07:21
|
Revision: 1555 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1555&view=rev Author: astrand Date: 2010-01-18 10:06:54 +0000 (Mon, 18 Jan 2010) Log Message: ----------- Since the backing store is created in ui_create_window, free it in ui_destroy_window, for symmetry. This is also necessary when reconnecting with a different size, since the backing store size needs to be changed. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2010-01-18 08:02:24 UTC (rev 1554) +++ rdesktop/trunk/xwin.c 2010-01-18 10:06:54 UTC (rev 1555) @@ -1962,9 +1962,6 @@ XFreeModifiermap(g_mod_map); - if (g_ownbackstore) - XFreePixmap(g_display, g_backstore); - XFreeGC(g_display, g_gc); XCloseDisplay(g_display); g_display = NULL; @@ -2160,6 +2157,12 @@ XDestroyWindow(g_display, g_wnd); g_wnd = 0; + + if (g_backstore) + { + XFreePixmap(g_display, g_backstore); + g_backstore = 0; + } } void This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2012-06-29 06:38:39
|
Revision: 1663 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1663&view=rev Author: hean01 Date: 2012-06-29 06:38:33 +0000 (Fri, 29 Jun 2012) Log Message: ----------- seamless_restack_test() leaves events on queue which breaks seamless functionality, added event processing and wait for DestroyNotify for the testing windows to empty the queue before leaving the test function. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2012-06-26 07:27:50 UTC (rev 1662) +++ rdesktop/trunk/xwin.c 2012-06-29 06:38:33 UTC (rev 1663) @@ -772,8 +772,14 @@ } /* Destroy windows */ - for (i = 0; i < 3; i++) + for (i = 0; i < 3; i++) { XDestroyWindow(g_display, wnds[i]); + do + { + XWindowEvent(g_display, wnds[i], StructureNotifyMask, &xevent); + } + while (xevent.type != DestroyNotify); + } } #define SPLITCOLOUR15(colour, rv) \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2013-03-22 10:07:18
|
Revision: 1699 http://sourceforge.net/p/rdesktop/code/1699 Author: hean01 Date: 2013-03-22 10:07:14 +0000 (Fri, 22 Mar 2013) Log Message: ----------- Fixes bug with mouse scroll handling. X mouse scroll events comes as mouse button press and release events. On the windows sider the release is interpreted as an additional scroll down event. Thanks goes to David Fries for this patch. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2013-03-18 12:04:38 UTC (rev 1698) +++ rdesktop/trunk/xwin.c 2013-03-22 10:07:14 UTC (rev 1699) @@ -2279,6 +2279,14 @@ } } + /* Ignore mouse scroll button release event which will be handled as an additional + * scrolldown event on the Windows side. + */ + if (!down && (button == MOUSE_FLAG_BUTTON4 || button == MOUSE_FLAG_BUTTON5)) + { + return; + } + if (xevent.xmotion.window == g_wnd) { rdp_send_input(time(NULL), RDP_INPUT_MOUSE, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2013-09-19 14:45:25
|
Revision: 1747 http://sourceforge.net/p/rdesktop/code/1747 Author: astrand Date: 2013-09-19 14:45:22 +0000 (Thu, 19 Sep 2013) Log Message: ----------- When using SeamlessRDP with broken window managers, we hade a timeout of 1 second for ConfigureNotify. Lower this to 0.5 seconds. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2013-09-19 14:39:08 UTC (rev 1746) +++ rdesktop/trunk/xwin.c 2013-09-19 14:45:22 UTC (rev 1747) @@ -574,14 +574,14 @@ XEvent xevent; sw_configurenotify_context context; struct timeval now; - struct timeval nextsecond; + struct timeval future; RD_BOOL got = False; context.window = wnd; context.serial = serial; - gettimeofday(&nextsecond, NULL); - nextsecond.tv_sec += 1; + gettimeofday(&future, NULL); + future.tv_usec += 500000; do { @@ -593,7 +593,7 @@ usleep(100000); gettimeofday(&now, NULL); } - while (timercmp(&now, &nextsecond, <)); + while (timercmp(&now, &future, <)); if (!got) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2014-05-28 07:56:25
|
Revision: 1809 http://sourceforge.net/p/rdesktop/code/1809 Author: hean01 Date: 2014-05-28 07:56:23 +0000 (Wed, 28 May 2014) Log Message: ----------- Clear g_seamless_spawn_cmd when used. Fixes problem were a new seamless application is spawned upon a reconnection due to resize or network failure. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2014-05-20 15:19:07 UTC (rev 1808) +++ rdesktop/trunk/xwin.c 2014-05-28 07:56:23 UTC (rev 1809) @@ -3822,7 +3822,10 @@ ui_seamless_toggle(); if (g_seamless_spawn_cmd[0]) + { seamless_send_spawn(g_seamless_spawn_cmd); + g_seamless_spawn_cmd[0] = 0; + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <he...@us...> - 2015-02-11 14:34:04
|
Revision: 1846 http://sourceforge.net/p/rdesktop/code/1846 Author: hean01 Date: 2015-02-11 14:33:57 +0000 (Wed, 11 Feb 2015) Log Message: ----------- Make sure to break out of inner loop when pending resize is triggered. This will make a reconnect happen as fast as possible and prevent waiting for any xwin inputs or data on rdp channel. Modified Paths: -------------- rdesktop/trunk/xwin.c Modified: rdesktop/trunk/xwin.c =================================================================== --- rdesktop/trunk/xwin.c 2015-02-11 12:57:53 UTC (rev 1845) +++ rdesktop/trunk/xwin.c 2015-02-11 14:33:57 UTC (rev 1846) @@ -2649,7 +2649,7 @@ return 1; } -/* Returns 0 after user quit, 1 otherwise */ +/* Returns 0 after user quit or pending resize, 1 otherwise */ int ui_select(int rdp_socket) { @@ -2666,6 +2666,9 @@ /* User quit */ return 0; + if (g_pending_resize) + return 0; + if (g_seamless_active) sw_check_timers(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |