From: <as...@us...> - 2010-01-14 15:21:52
|
Revision: 1550 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1550&view=rev Author: astrand Date: 2010-01-14 15:21:45 +0000 (Thu, 14 Jan 2010) Log Message: ----------- Applied: [PATCH] _NET_WORKAREA is interpreted wrong on 64-bit machines (-g workarea) Modified Paths: -------------- rdesktop/trunk/ewmhints.c Modified: rdesktop/trunk/ewmhints.c =================================================================== --- rdesktop/trunk/ewmhints.c 2010-01-14 11:48:12 UTC (rev 1549) +++ rdesktop/trunk/ewmhints.c 2010-01-14 15:21:45 UTC (rev 1550) @@ -134,7 +134,7 @@ int current_desktop; unsigned long nitems_return; unsigned char *prop_return; - uint32 *return_words; + long *return_words; const uint32 net_workarea_x_offset = 0; const uint32 net_workarea_y_offset = 1; const uint32 net_workarea_width_offset = 2; @@ -157,7 +157,7 @@ if (current_desktop < 0) return -1; - return_words = (uint32 *) prop_return; + return_words = (long *) prop_return; *x = return_words[current_desktop * 4 + net_workarea_x_offset]; *y = return_words[current_desktop * 4 + net_workarea_y_offset]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2010-01-18 07:53:44
|
Revision: 1553 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1553&view=rev Author: astrand Date: 2010-01-18 07:53:37 +0000 (Mon, 18 Jan 2010) Log Message: ----------- Applied rdesktop-x86_64-crash-fix.patch from #1970489. Modified Paths: -------------- rdesktop/trunk/ewmhints.c Modified: rdesktop/trunk/ewmhints.c =================================================================== --- rdesktop/trunk/ewmhints.c 2010-01-14 16:14:23 UTC (rev 1552) +++ rdesktop/trunk/ewmhints.c 2010-01-18 07:53:37 UTC (rev 1553) @@ -431,15 +431,15 @@ { unsigned long nitems, i; unsigned char *props; - uint32 *cur_set, *new_set; - uint32 *icon; + unsigned long *cur_set, *new_set; + unsigned long *icon; cur_set = NULL; new_set = NULL; if (get_property_value(wnd, "_NET_WM_ICON", 10000, &nitems, &props, 1) >= 0) { - cur_set = (uint32 *) props; + cur_set = (unsigned long *) props; for (i = 0; i < nitems;) { @@ -453,15 +453,15 @@ icon = cur_set + i; else { - new_set = xmalloc((nitems + width * height + 2) * 4); - memcpy(new_set, cur_set, nitems * 4); + new_set = xmalloc((nitems + width * height + 2) * sizeof(unsigned long)); + memcpy(new_set, cur_set, nitems * sizeof(unsigned long)); icon = new_set + nitems; nitems += width * height + 2; } } else { - new_set = xmalloc((width * height + 2) * 4); + new_set = xmalloc((width * height + 2) * sizeof(unsigned long)); icon = new_set; nitems = width * height + 2; } @@ -493,7 +493,7 @@ { unsigned long nitems, i, icon_size; unsigned char *props; - uint32 *cur_set, *new_set; + unsigned long *cur_set, *new_set; cur_set = NULL; new_set = NULL; @@ -501,7 +501,7 @@ if (get_property_value(wnd, "_NET_WM_ICON", 10000, &nitems, &props, 1) < 0) return; - cur_set = (uint32 *) props; + cur_set = (unsigned long *) props; for (i = 0; i < nitems;) { @@ -515,12 +515,13 @@ goto out; icon_size = width * height + 2; - new_set = xmalloc((nitems - icon_size) * 4); + new_set = xmalloc((nitems - icon_size) * sizeof(unsigned long)); if (i != 0) - memcpy(new_set, cur_set, i * 4); + memcpy(new_set, cur_set, i * sizeof(unsigned long)); if (i != nitems - icon_size) - memcpy(new_set + i * 4, cur_set + i * 4 + icon_size, nitems - icon_size); + memcpy(new_set + i * sizeof(unsigned long), + cur_set + i * sizeof(unsigned long) + icon_size, nitems - icon_size); nitems -= icon_size; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <as...@us...> - 2010-01-18 08:02:43
|
Revision: 1554 http://rdesktop.svn.sourceforge.net/rdesktop/?rev=1554&view=rev Author: astrand Date: 2010-01-18 08:02:24 +0000 (Mon, 18 Jan 2010) Log Message: ----------- Adjusted incorrect memcpy line in ewmh_del_icon, as suggested by #1970489. Modified Paths: -------------- rdesktop/trunk/ewmhints.c Modified: rdesktop/trunk/ewmhints.c =================================================================== --- rdesktop/trunk/ewmhints.c 2010-01-18 07:53:37 UTC (rev 1553) +++ rdesktop/trunk/ewmhints.c 2010-01-18 08:02:24 UTC (rev 1554) @@ -520,8 +520,8 @@ if (i != 0) memcpy(new_set, cur_set, i * sizeof(unsigned long)); if (i != nitems - icon_size) - memcpy(new_set + i * sizeof(unsigned long), - cur_set + i * sizeof(unsigned long) + icon_size, nitems - icon_size); + memcpy(new_set + i, cur_set + i + icon_size, + (nitems - (i + icon_size)) * sizeof(unsigned long)); nitems -= icon_size; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |