X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbcclipboard.C;h=aa3b2f0800fd6f432bfc1b4ee073c67a0658e5ce;hb=ccd23c15fae578be22d48b1a1e8b09cb43d593ae;hp=4ef144bcb8e74455c8abb7300f1f931361584dd9;hpb=65eb7d06c462c2caaa7fabcb8956add9e6b8abc7;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bcclipboard.C b/cinelerra-5.1/guicast/bcclipboard.C index 4ef144bc..aa3b2f08 100644 --- a/cinelerra-5.1/guicast/bcclipboard.C +++ b/cinelerra-5.1/guicast/bcclipboard.C @@ -194,7 +194,7 @@ long BC_Clipboard::clipboard_len(int clipboard_num) char *bfr; long len = from_clipboard(clipboard_num, bfr, 0); if( bfr ) XFree(bfr); - return len < 0 ? 0 : len; + return len < 0 ? 0 : len+1; } long BC_Clipboard::from_clipboard(int clipboard_num, char *&bfr, long maxlen) @@ -255,13 +255,12 @@ int BC_Clipboard::to_clipboard(BC_WindowBase *owner, const char *data, long len, if( clipboard_num < CLIP_BUFFER0 ) { char *bfr = data_buffer[clipboard_num]; - if( data_length[clipboard_num] != len+1 ) { - delete [] bfr; bfr = new char[len+1]; + if( data_length[clipboard_num] != len ) { + delete [] bfr; bfr = new char[len]; data_buffer[clipboard_num] = bfr; - data_length[clipboard_num] = len+1; + data_length[clipboard_num] = len; } memcpy(bfr, data, len); - bfr[len] = 0; Atom selection = clipboard_num == CLIP_PRIMARY ? xa_primary : clipboard; // this is not supposed to be necessary according to the man page Window cur = XGetSelectionOwner(out_display, selection);