diff options
author | Tor Lillqvist <tml@novell.com> | 2006-06-11 19:42:14 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2006-06-11 19:42:14 +0000 |
commit | 6012c2da10cefa45f6c9fd74c74f27043dbe316b (patch) | |
tree | 683728984a37eebab6a62e9471f69d8f245fa98e | |
parent | 86a361760a994b9c02d1c359e7addf81883a0327 (diff) | |
download | gdk-pixbuf-6012c2da10cefa45f6c9fd74c74f27043dbe316b.tar.gz |
Convert \n to \r\n also when storing CF_UNICODETEXT (UTF-16) in the
2006-06-11 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Convert \n
to \r\n also when storing CF_UNICODETEXT (UTF-16) in the
Clipboard. (#344496)
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.pre-2-10 | 6 | ||||
-rw-r--r-- | gdk/win32/gdkproperty-win32.c | 17 |
3 files changed, 26 insertions, 3 deletions
@@ -1,3 +1,9 @@ +2006-06-11 Tor Lillqvist <tml@novell.com> + + * gdk/win32/gdkproperty-win32.c (gdk_property_change): Convert \n + to \r\n also when storing CF_UNICODETEXT (UTF-16) in the + Clipboard. (#344496) + 2006-06-09 Tor Lillqvist <tml@novell.com> * gdk/win32/gdkdrawable-win32.c (_gdk_win32_drawable_release_dc): diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 4ab6bfe1f..22e014d6a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,9 @@ +2006-06-11 Tor Lillqvist <tml@novell.com> + + * gdk/win32/gdkproperty-win32.c (gdk_property_change): Convert \n + to \r\n also when storing CF_UNICODETEXT (UTF-16) in the + Clipboard. (#344496) + 2006-06-09 Tor Lillqvist <tml@novell.com> * gdk/win32/gdkdrawable-win32.c (_gdk_win32_drawable_release_dc): diff --git a/gdk/win32/gdkproperty-win32.c b/gdk/win32/gdkproperty-win32.c index 1e5126231..42a525713 100644 --- a/gdk/win32/gdkproperty-win32.c +++ b/gdk/win32/gdkproperty-win32.c @@ -327,6 +327,9 @@ gdk_property_change (GdkWindow *window, wclen++; /* Terminating 0 */ size = wclen * 2; + for (i = 0; i < wclen; i++) + if (wcptr[i] == '\n') + size += 2; GDK_NOTE (DND, g_print ("... as Unicode\n")); } else if (find_common_locale (data, nelements, nchars, &lcid, &buf, &size)) @@ -418,9 +421,17 @@ gdk_property_change (GdkWindow *window, break; case UNICODE_TEXT: - cf = CF_UNICODETEXT; - memmove (ucptr, wcptr, size); - g_free (wcptr); + { + wchar_t *p = (wchar_t *) ucptr; + cf = CF_UNICODETEXT; + for (i = 0; i < wclen; i++) + { + if (wcptr[i] == '\n') + *p++ = '\r'; + *p++ = wcptr[i]; + } + g_free (wcptr); + } break; case SINGLE_LOCALE: |