Author: andreas Date: 2010-03-10 11:22:45 -0800 (Wed, 10 Mar 2010) New Revision: 2152 Modified: trunk/platforms/win32/vm/sqWin32Window.c Log: Add Eliot's clipboard handling fix. Modified: trunk/platforms/win32/vm/sqWin32Window.c =================================================================== --- trunk/platforms/win32/vm/sqWin32Window.c 2010-02-24 13:25:07 UTC (rev 2151) +++ trunk/platforms/win32/vm/sqWin32Window.c 2010-03-10 19:22:45 UTC (rev 2152) @@ -2353,7 +2353,6 @@ int clipboardSize(void) { HANDLE h; WCHAR *src; - unsigned char *tmp; int i, count, bytesNeeded; /* Do we have text in the clipboard? */ @@ -2370,18 +2369,20 @@ /* How many bytes do we need to store those unicode chars in UTF8 format? */ bytesNeeded = WideCharToMultiByte(CP_UTF8, 0, src, -1, NULL, 0, NULL, NULL ); - tmp = malloc(bytesNeeded+1); + if (bytesNeeded > 0) { + unsigned char *tmp = malloc(bytesNeeded+1); - /* Convert Unicode text to UTF8. */ - WideCharToMultiByte(CP_UTF8, 0, src, -1, tmp, bytesNeeded , NULL, NULL); + /* Convert Unicode text to UTF8. */ + WideCharToMultiByte(CP_UTF8, 0, src, -1, tmp, bytesNeeded , NULL, NULL); - /* Count CrLfs for which we remove the extra Lf */ - count = bytesNeeded; /* ex. terminating zero */ - for(i=0; i<count; i++) { - if((tmp[i] == 13) && (tmp[i+1] == 10)) bytesNeeded--; + /* Count CrLfs for which we remove the extra Lf */ + count = bytesNeeded; /* ex. terminating zero */ + for(i=0; i<count; i++) { + if((tmp[i] == 13) && (tmp[i+1] == 10)) bytesNeeded--; + } + bytesNeeded--; /* discount terminating zero */ + free(tmp); /* no longer needed */ } - bytesNeeded--; /* discount terminating zero */ - free(tmp); /* no longer needed */ GlobalUnlock(h); CloseClipboard(); |
OMG, is the clipboard going to work in Linux now? On Wed, Mar 10, 2010 at 1:22 PM, <[hidden email]> wrote: > > Author: andreas > Date: 2010-03-10 11:22:45 -0800 (Wed, 10 Mar 2010) > New Revision: 2152 > > Modified: > trunk/platforms/win32/vm/sqWin32Window.c > Log: > Add Eliot's clipboard handling fix. > > Modified: trunk/platforms/win32/vm/sqWin32Window.c > =================================================================== > --- trunk/platforms/win32/vm/sqWin32Window.c 2010-02-24 13:25:07 UTC (rev 2151) > +++ trunk/platforms/win32/vm/sqWin32Window.c 2010-03-10 19:22:45 UTC (rev 2152) > @@ -2353,7 +2353,6 @@ > int clipboardSize(void) { > HANDLE h; > WCHAR *src; > - unsigned char *tmp; > int i, count, bytesNeeded; > > /* Do we have text in the clipboard? */ > @@ -2370,18 +2369,20 @@ > /* How many bytes do we need to store those unicode chars in UTF8 format? */ > bytesNeeded = WideCharToMultiByte(CP_UTF8, 0, src, -1, > NULL, 0, NULL, NULL ); > - tmp = malloc(bytesNeeded+1); > + if (bytesNeeded > 0) { > + unsigned char *tmp = malloc(bytesNeeded+1); > > - /* Convert Unicode text to UTF8. */ > - WideCharToMultiByte(CP_UTF8, 0, src, -1, tmp, bytesNeeded , NULL, NULL); > + /* Convert Unicode text to UTF8. */ > + WideCharToMultiByte(CP_UTF8, 0, src, -1, tmp, bytesNeeded , NULL, NULL); > > - /* Count CrLfs for which we remove the extra Lf */ > - count = bytesNeeded; /* ex. terminating zero */ > - for(i=0; i<count; i++) { > - if((tmp[i] == 13) && (tmp[i+1] == 10)) bytesNeeded--; > + /* Count CrLfs for which we remove the extra Lf */ > + count = bytesNeeded; /* ex. terminating zero */ > + for(i=0; i<count; i++) { > + if((tmp[i] == 13) && (tmp[i+1] == 10)) bytesNeeded--; > + } > + bytesNeeded--; /* discount terminating zero */ > + free(tmp); /* no longer needed */ > } > - bytesNeeded--; /* discount terminating zero */ > - free(tmp); /* no longer needed */ > > GlobalUnlock(h); > CloseClipboard(); > > |
On Wed, Mar 10, 2010 at 7:39 PM, Chris Muller <[hidden email]> wrote:
:) No :) This is strictly windows.
|
In reply to this post by Chris Muller-3
On 11.03.2010, at 04:39, Chris Muller wrote: > > > OMG, is the clipboard going to work in Linux now? Huh? What doesn't work on Linux? - Bert - |
Well, I switched my linux vm to the latest Squeak VM today and cut and paste seems to finally be working! Also, *sound* is back! And the End key seems to be working now! What a relief. - Chris On Thu, Mar 11, 2010 at 4:06 AM, Bert Freudenberg <[hidden email]> wrote: > > On 11.03.2010, at 04:39, Chris Muller wrote: >> >> >> OMG, is the clipboard going to work in Linux now? > > Huh? What doesn't work on Linux? > > - Bert - > > |
On Thu, Mar 11, 2010 at 03:54:32PM -0600, Chris Muller wrote: > And the End key seems to be working now! really? where can I get this VM? that's really bugging me -- Matthew Fulmer (a.k.a. Tapple) |
squeakvm.org On Thu, Mar 11, 2010 at 4:32 PM, Matthew Fulmer <[hidden email]> wrote: > > On Thu, Mar 11, 2010 at 03:54:32PM -0600, Chris Muller wrote: >> And the End key seems to be working now! > > really? where can I get this VM? that's really bugging me > > -- > Matthew Fulmer (a.k.a. Tapple) > |
Free forum by Nabble | Edit this page |