Diffstat (limited to 'noncore/comm/keypebble/krfbdecoder.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/comm/keypebble/krfbdecoder.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/comm/keypebble/krfbdecoder.cpp b/noncore/comm/keypebble/krfbdecoder.cpp index 94e3b79..33418ae 100644 --- a/noncore/comm/keypebble/krfbdecoder.cpp +++ b/noncore/comm/keypebble/krfbdecoder.cpp | |||
@@ -704,12 +704,13 @@ void KRFBDecoder::gotServerCutText() | |||
704 | { | 704 | { |
705 | assert( currentState = AwaitingServerCutText ); | 705 | assert( currentState = AwaitingServerCutText ); |
706 | 706 | ||
707 | disconnect( con, SIGNAL( gotEnoughData() ), | 707 | disconnect( con, SIGNAL( gotEnoughData() ), |
708 | this, SLOT( gotServerCutText() ) ); | 708 | this, SLOT( gotServerCutText() ) ); |
709 | 709 | ||
710 | |||
710 | // | 711 | // |
711 | // Warning: There is a bug in the RFB protocol because there is no way to find | 712 | // Warning: There is a bug in the RFB protocol because there is no way to find |
712 | // out the codepage in use on the remote machine. This could be fixed by requiring | 713 | // out the codepage in use on the remote machine. This could be fixed by requiring |
713 | // the remote server to use utf8 etc. but for now we have to assume they're the | 714 | // the remote server to use utf8 etc. but for now we have to assume they're the |
714 | // same. I've reported this problem to the ORL guys, but they apparantly have no | 715 | // same. I've reported this problem to the ORL guys, but they apparantly have no |
715 | // immediate plans to fix the issue. :-( (rich) | 716 | // immediate plans to fix the issue. :-( (rich) |
@@ -718,19 +719,21 @@ void KRFBDecoder::gotServerCutText() | |||
718 | char *cutbuf = new char[ serverCutTextLen + 1 ]; | 719 | char *cutbuf = new char[ serverCutTextLen + 1 ]; |
719 | CHECK_PTR( cutbuf ); | 720 | CHECK_PTR( cutbuf ); |
720 | 721 | ||
721 | con->read( cutbuf, serverCutTextLen ); | 722 | con->read( cutbuf, serverCutTextLen ); |
722 | cutbuf[ serverCutTextLen ] = '\0'; | 723 | cutbuf[ serverCutTextLen ] = '\0'; |
723 | 724 | ||
725 | /* For some reason QApplication::clipboard()->setText() segfaults when called | ||
726 | * from within keypebble's mass of signals and slots | ||
724 | qWarning( "Server cut: %s", cutbuf ); | 727 | qWarning( "Server cut: %s", cutbuf ); |
725 | 728 | ||
726 | QString cutText( cutbuf ); // DANGER!! | 729 | QString cutText( cutbuf ); // DANGER!! |
727 | qApp->clipboard()->setText( cutText ); | 730 | qApp->clipboard()->setText( cutText ); |
731 | */ | ||
728 | 732 | ||
729 | delete cutbuf; | 733 | delete cutbuf; |
730 | |||
731 | // Now wait for the update (again) | 734 | // Now wait for the update (again) |
732 | if ( oldState == AwaitingUpdate ) { | 735 | if ( oldState == AwaitingUpdate ) { |
733 | currentState = AwaitingUpdate; | 736 | currentState = AwaitingUpdate; |
734 | connect( con, SIGNAL( gotEnoughData() ), SLOT( gotUpdateHeader() ) ); | 737 | connect( con, SIGNAL( gotEnoughData() ), SLOT( gotUpdateHeader() ) ); |
735 | con->waitForData( UpdateHeaderLength ); | 738 | con->waitForData( UpdateHeaderLength ); |
736 | } | 739 | } |