diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-01-15 15:58:26 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-01-15 15:58:26 +0000 |
commit | 676cb962ce77a5d5e3d00e784bd60aef548493b9 (patch) | |
tree | 3914479cac0f11ae06ecf1ef15a8e98fce728b13 /amiga/clipboard.c | |
parent | efa55dd3f1be7908fda06fd3d09d89b4eb2be115 (diff) | |
download | netsurf-676cb962ce77a5d5e3d00e784bd60aef548493b9.tar.gz netsurf-676cb962ce77a5d5e3d00e784bd60aef548493b9.tar.bz2 |
Accept codeset 1 (undefined) as 106 (UTF-8) when pasting from the
clipboard. This should allow us to at least paste from broken ports of
MorphOS apps.
svn path=/trunk/netsurf/; revision=13404
Diffstat (limited to 'amiga/clipboard.c')
-rwxr-xr-x | amiga/clipboard.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/amiga/clipboard.c b/amiga/clipboard.c index 09d95f8f5..55f0bacee 100755 --- a/amiga/clipboard.c +++ b/amiga/clipboard.c @@ -111,6 +111,7 @@ void gui_paste_from_clipboard(struct gui_window *g, int x, int y) struct ContextNode *cn; ULONG rlen=0,error; struct CSet cset; + LONG codeset = 0; char *clip; STRPTR readbuf = AllocVec(1024,MEMF_PRIVATE | MEMF_CLEAR); @@ -131,13 +132,15 @@ void gui_paste_from_clipboard(struct gui_window *g, int x, int y) if((cn)&&(cn->cn_Type == ID_FTXT)&&(cn->cn_ID == ID_CSET)) { rlen = ReadChunkBytes(iffh,&cset,24); + if(cset.CodeSet == 1) codeset = 106; + else codeset = cset.CodeSet; } if((cn)&&(cn->cn_Type == ID_FTXT)&&(cn->cn_ID == ID_CHRS)) { while((rlen = ReadChunkBytes(iffh,readbuf,1024)) > 0) { - if(cset.CodeSet == 0) + if(codeset == 0) { utf8_from_local_encoding(readbuf,rlen,&clip); } @@ -145,7 +148,7 @@ void gui_paste_from_clipboard(struct gui_window *g, int x, int y) { utf8_from_enc(readbuf, (const char *)ObtainCharsetInfo(DFCS_NUMBER, - cset.CodeSet, DFCS_MIMENAME), + codeset, DFCS_MIMENAME), rlen, &clip); } |