This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2gokdriveclient.
commit cf3d89c139344d1a63754f641033070a2a9465b7 Author: Oleksandr Shneyder <o.shney...@phoca-gmbh.de> Date: Thu Oct 14 12:07:48 2021 -0500 use QTextStream(stderr) instead of qDebug. --- client.cpp | 220 ++++++++++++++++++++++++++++++------------------------- client.h | 9 ++- debian/changelog | 1 + displayarea.cpp | 59 ++++++++------- menuframe.cpp | 9 +-- xcbclip.cpp | 107 ++++++++++++++------------- 6 files changed, 216 insertions(+), 189 deletions(-) diff --git a/client.cpp b/client.cpp index eb0c948..7388bd6 100644 --- a/client.cpp +++ b/client.cpp @@ -23,7 +23,6 @@ #include "displayarea.h" #include <QApplication> #include <QMessageBox> -#include <QDebug> #include <QTimer> #include <QTcpSocket> #include <QPainter> @@ -62,6 +61,9 @@ #include <zlib.h> +//stderr + + X2GoCursor::X2GoCursor(uint16_t width, uint16_t height, uint16_t xhot, uint16_t yhot, uint32_t serialNumber, uint32_t dataSize) { this->width=width; @@ -121,7 +123,35 @@ OutputChunk::OutputChunk(SelectionType selection, SelectionMime mime) firstChunk=lastChunk=false; } +QString Client::QRectToStr(const QRect& rec) +{ + QString str; + QTextStream(&str) << rec.x()<<","<<rec.y()<<" "<<rec.width()<<"x"<<rec.height(); + return str; +} +QString Client::QSizeToStr(const QSizeF& sz) +{ + QString str; + QTextStream(&str) <<sz.width()<<"x"<<sz.height(); + return str; +} + +QTextStream& Client::KDRStdErr(bool dbg) +{ + static QTextStream out(stderr); + static QString nls; + nls.clear(); + static QTextStream nl(&nls); + if(debug || !dbg) + { + out<<Qt::endl; + return out; + } + return nl; +} + +bool Client::debug=false; Client::Client() { @@ -211,7 +241,7 @@ Client::Client() Client::~Client() { - qDebug()<<"Client destructor"; + KDRStdErr()<<"Client destructor"<<Qt::endl; freeMessageBuffer(); @@ -257,7 +287,7 @@ void Client::slotIdentifyScreen() if(number >= QGuiApplication::screens().size()) { - qDebug()<<"screen not connected"; + KDRStdErr()<<"screen not connected"; if(screenIdentifier) screenIdentifier->hide(); return; @@ -352,7 +382,7 @@ void Client::resizeToSaved() setWindowState(Qt::WindowNoState); setWindowState(windowState() & ~Qt::WindowMaximized); #endif - qDebug()<<"restore to "<<savedSize<<savedPosition; + KDRStdErr()<<"restore to "<<savedSize.width()<<"x"<<savedSize.height()<<" "<<savedPosition.x()<<","<<savedPosition.y(); resize(savedSize); move(savedPosition); showNormal(); @@ -414,7 +444,7 @@ void Client::setFS(int screenNumber) { showNormal(); } - qDebug()<<"setting FS on screen"<<screenNumber; + KDRStdErr()<<"setting FS on screen"<<screenNumber; isFs=true; FSScreen=screenNumber; if(screenNumber==-1) @@ -512,14 +542,12 @@ void Client::connectToServer() for(int i=0;i<args.count();++i) { - qDebug()<<args[i]; + KDRStdErr()<<args[i]; if(args[i]=="--debug") { -#if QT_VERSION >= QT_VERSION_CHECK(5, 2, 0) - QLoggingCategory::setFilterRules("default.debug=true"); -#endif - qDebug()<<"Running in debug mode"; + debug=true; + KDRStdErr()<<"Running in debug mode"; continue; } if(args[i]=="--connect") @@ -535,7 +563,7 @@ void Client::connectToServer() if(args[i]=="--title") { setWindowTitle("X2GO-"+args[++i]); - qDebug()<<"set title to "<<windowTitle(); + KDRStdErr()<<"set title to "<<windowTitle(); continue; } @@ -586,7 +614,7 @@ void Client::connectToServer() } else { - qDebug()<<"Unsupported selections mode:"<<smode; + KDRStdErr()<<"Unsupported selections mode: "<<smode; } } @@ -623,7 +651,7 @@ void Client::connectToServer() } - qDebug()<<"options file:"<<optFile; + KDRStdErr()<<"options file: "<<optFile; if(optFile.length()) { @@ -647,7 +675,7 @@ void Client::connectToServer() cookie=part.replace("cookie=",""); if(cookie.length()!=32) { - qDebug()<<"Wrong cookie: "<<cookie; + KDRStdErr()<<"Wrong cookie: "<<cookie; exitOnError(tr("Wrong cookie")); } continue; @@ -663,14 +691,12 @@ void Client::connectToServer() } else { - qDebug()<<"Error! Can't open options File for reading"<<optFile; + KDRStdErr()<<"Error! Can't open options File for reading "<<optFile; exitOnError(tr("Error! Can't open options File for reading")); } } - QString nxmsg="Connecting to remote host 'localhost:"; - nxmsg+=QString::number(port)+"'\n"; - fprintf(stderr, "%s", nxmsg.toLatin1().data()); + KDRStdErr(false)<<"Connecting to remote host "<<host<<":"<<port; clientSocket->connectToHost(host, port); } @@ -679,7 +705,7 @@ QPixmap Client::getPixmapFromCache(uint32_t crc) { if(!frameCache.contains(crc)) { - qDebug()<<"GETPIXMAP: frame"<<hex<<crc<<"not found in cache"; + KDRStdErr()<<"GETPIXMAP: frame "<<Qt::hex<<crc<<" not found in cache"; if(serverVersion<5) exitOnError(tr("Frame not found in cache")); else @@ -697,14 +723,14 @@ void Client::renderFrame() //we got a whole display copy if(currentFrame->x==-1) { - qDebug()<<"got initial Image:"<<currentFrame->width<< currentFrame->height<<currentFrame->regions[0]->pix.size(); + KDRStdErr()<<"got initial Image: "<<currentFrame->width<<"x"<<currentFrame->height<<" "<<QSizeToStr(currentFrame->regions[0]->pix.size()); displayArea->resize(currentFrame->width, currentFrame->height); this->resize(currentFrame->width, currentFrame->height); displayArea->setDisplayPix(currentFrame->regions[0]->pix); } else { -// qDebug()<<"got Screen update:"<<currentFrame->width<< currentFrame->height<<currentFrame->regions[0]->pix.size(); + // KDRStdErr()<<"got Screen update:"<<currentFrame->width<< currentFrame->height<<currentFrame->regions[0]->pix.size(); displayArea->setDisplayPix(currentFrame->regions[0]->pix, currentFrame->x, currentFrame->y); } } @@ -723,20 +749,20 @@ void Client::renderFrame() { if(!frameCache.contains(reg->source_crc)) { - qDebug()<<"region"<<hex<<reg->source_crc<<"not found in cache"; + KDRStdErr()<<"region "<<Qt::hex<<reg->source_crc<<" not found in cache"; if(serverVersion<5) exitOnError(tr("region not found in cache")); else requestCacheRebuild(); return; } - //qDebug()<<"REG:"<<reg->x<<reg->y<<reg->width<< reg->height<<"SOURCE:"<<reg->source_x<<reg->source_y; + //KDRStdErr()<<"REG:"<<reg->x<<reg->y<<reg->width<< reg->height<<"SOURCE:"<<reg->source_x<<reg->source_y; painter.drawPixmap(reg->x,reg->y,reg->width, reg->height, frameCache[reg->source_crc], reg->source_x, reg->source_y, reg->width, reg->height); } else { - //qDebug()<<"REG:"<<reg->x<<reg->y<<reg->width<< reg->height; + //KDRStdErr()<<"REG:"<<reg->x<<reg->y<<reg->width<< reg->height; painter.drawPixmap(reg->x,reg->y, reg->pix); } } @@ -747,13 +773,13 @@ void Client::renderFrame() frameCount++; - /*qDebug()<<"Insert in cache Frame:"<<frameCount<<dec<<frameSize<<pix.size()<< + /*KDRStdErr()<<"Insert in cache Frame:"<<frameCount<<dec<<frameSize<<pix.size()<< frameCache.count()<<"Total(MB)"<<cacheSize/(1024*1024);*/ } } wantRepaint=true; displayArea->repaint(currentFrame->x, currentFrame->y, currentFrame->width, currentFrame->height); -// qDebug()<<"repaint: "<<currentFrame->x<<currentFrame->y<< currentFrame->width<< currentFrame->height<<displayArea->geometry(); + // KDRStdErr()<<"repaint: "<<currentFrame->x<<currentFrame->y<< currentFrame->width<< currentFrame->height<<displayArea->geometry(); } void Client::setUptodate() @@ -771,7 +797,7 @@ void Client::getImageFrame() *((uint32_t*)messageBuffer+4), *((uint32_t*)messageBuffer+5), *((uint32_t*)messageBuffer+6)); -// qDebug()<<"got frame "<<currentFrame->crc<<currentFrame->numOfRegions; + // KDRStdErr()<<"got frame "<<currentFrame->crc<<currentFrame->numOfRegions; if(!currentFrame->numOfRegions) { //we have no regions, render frame @@ -793,12 +819,12 @@ void Client::getCursorImage() //get cursor image from buffer -// qDebug()<<"got cursor image"; + // KDRStdErr()<<"got cursor image"; QCursor* cursor; if(currentCursor->dataSize == (uint32_t) currentCursor->width*currentCursor->height*4) { -// qDebug()<<"get ARGB cursor"; + // KDRStdErr()<<"get ARGB cursor"; QImage img((uchar*)messageBuffer, currentCursor->width, currentCursor->height, QImage::Format_ARGB32); cursor=new QCursor(QPixmap::fromImage(img), currentCursor->xhot, currentCursor->yhot); } @@ -821,7 +847,7 @@ void Client::getServerversion() serverVersion=*((uint16_t*)messageBuffer+2); serverExtSelection = (serverVersion>1); - qDebug()<<"server version:"<<serverVersion; + KDRStdErr()<<"server version: "<<serverVersion; initGeometry(); } @@ -831,7 +857,7 @@ void Client::getClientSelection() SelectionType selection=PRIMARY; if(sel) selection=CLIPBOARD; - qDebug()<<"server demands data for "<<selection; + KDRStdErr()<<"server demands data for "<<selection; #ifdef Q_OS_LINUX clipboard->requestSelectionData(selection); #else @@ -852,7 +878,7 @@ void Client::getCursor() *((uint16_t*)messageBuffer+7), *((uint16_t*)messageBuffer+8), *((uint32_t*)messageBuffer+5),*((uint32_t*)messageBuffer+6)); -// qDebug()<<"got cursor with serial"<<currentCursor->serialNumber<<" size: "<<currentCursor->dataSize; + // KDRStdErr()<<"got cursor with serial"<<currentCursor->serialNumber<<" size: "<<currentCursor->dataSize; if(!currentCursor->dataSize) @@ -860,7 +886,7 @@ void Client::getCursor() //we don't have data, set cursor if(!cursorCache.contains(currentCursor->serialNumber)) { - qDebug()<<"cursor not found:"<<currentCursor->serialNumber; + KDRStdErr()<<"cursor not found: "<<currentCursor->serialNumber; if(serverVersion<5) exitOnError(tr("Cursor not found in cache")); else @@ -911,7 +937,7 @@ QByteArray Client::zuncompress(const char* data, uint compressed_size, uint size if(!stream.total_out || stream.total_out != size) { - qDebug()<<"zlib decompression error, "<<"output size: "<<stream.total_out<<", expected: "<<size; + KDRStdErr()<<"zlib decompression error, "<<"output size: "<<stream.total_out<<", expected: "<<size; } QByteArray ba( (const char*)out, size); delete[] out; @@ -924,7 +950,7 @@ void Client::setInputSelectionData(SelectionType, SelectionMime mime, bool first { //if notify is true, we don't have actual data, just notification //copy data to selection buffer - // qDebug()<<"Get chunk of input selection: selection, myme, firstChunk, lastChunk, compressed, size:"<<selection<<mime<<firstChunk<<lastChunk<<compressed<<size<<notify; + // KDRStdErr()<<"Get chunk of input selection: selection, myme, firstChunk, lastChunk, compressed, size:"<<selection<<mime<<firstChunk<<lastChunk<<compressed<<size<<notify; if(firstChunk) @@ -940,18 +966,18 @@ void Client::setInputSelectionData(SelectionType, SelectionMime mime, bool first { total_compressed+=compressed; selData.append(zuncompress(data, compressed, size)); -// qDebug()<<"uncompress from "<<compressed<<" to "<<size; + // KDRStdErr()<<"uncompress from "<<compressed<<" to "<<size; } if(lastChunk ) { if(notify) { - qDebug()<<"Got selection notify from server"; + KDRStdErr()<<"Got selection notify from server"; } else { -// qDebug()<<"total size: "<<selData.size()<<"compressed size"<<total_compressed; + // KDRStdErr()<<"total size: "<<selData.size()<<"compressed size"<<total_compressed; QClipboard* clipboard=QGuiApplication::clipboard(); QClipboard::Mode mode=QClipboard::Clipboard; switch(selectionFormat) @@ -975,13 +1001,13 @@ void Client::setInputSelectionData(SelectionType, SelectionMime mime, bool first void Client::getDeletedCursorsList() { //process list from messageBuffer -// qDebug()<<"get deleted cursors: "<<deletedCursorsSize; +// KDRStdErr()<<"get deleted cursors: "<<deletedCursorsSize; for(uint i=0;i<deletedCursorsSize;++i) { uint32_t serial=*((uint32_t*)messageBuffer+i); if(!cursorCache.contains(serial)) { - qDebug()<<"cursor not found in cache: "<<serial; + KDRStdErr()<<"cursor not found in cache: "<<serial; if(serverVersion<5) exitOnError(tr("cursor not found in cache")); else @@ -998,20 +1024,20 @@ void Client::getDeletedFramesList() { //process list from messageBuffer -// qDebug()<<"get deleted frames: "<<deletedFramesSize; +// KDRStdErr()<<"get deleted frames: "<<deletedFramesSize; for(uint i=0;i<deletedFramesSize;++i) { uint32_t crc=*((uint32_t*)messageBuffer+i); if(!frameCache.contains(crc)) { - qDebug()<<"DELETING: frame not found in cache: "<<hex<<crc; + KDRStdErr()<<"DELETING: frame not found in cache: "<<Qt::hex<<crc; if(serverVersion<5) exitOnError(tr("frame not found in cache")); else requestCacheRebuild(); return; } -// qDebug()<<"deleting frame from cache with crc"<<hex<<crc; +// KDRStdErr()<<"deleting frame from cache with crc"<<hex<<crc; QPixmap pix=frameCache[crc]; cacheSize-=pix.width()*pix.height()*pix.depth()/8; @@ -1088,7 +1114,7 @@ void Client::getSelection() bytesLeftToRead=compressed_size; else bytesLeftToRead=selectionSize; - // qDebug()<<"Get Selection, is Clipboard"<<selectionClipboard<<selectionFormat<<"chunk size"<<selectionSize<<"left"<<bytesLeftToRead; + // KDRStdErr()<<"Get Selection, is Clipboard"<<selectionClipboard<<selectionFormat<<"chunk size"<<selectionSize<<"left"<<bytesLeftToRead; freeMessageBuffer(); } @@ -1106,7 +1132,7 @@ void Client::getDeletedFrames() void Client::getRegionImage() { -// qDebug()<<"got image for region "<<currentFrame->regions.count()-1<<"from"<<currentFrame->numOfRegions; +// KDRStdErr()<<"got image for region "<<currentFrame->regions.count()-1<<"from"<<currentFrame->numOfRegions; // currentFrame->regions.last()->pix=new QPixmap(); if(currentFrame->regions.last()->pix.loadFromData((uchar*)messageBuffer, currentFrame->regions.last()->dataSize)) @@ -1117,8 +1143,8 @@ void Client::getRegionImage() } else { - qDebug()<<"Image loading failed:"<<hex<<currentFrame->crc; -/* qDebug()<<currentFrame->regions.last()->dataSize; + KDRStdErr()<<"Image loading failed: "<<Qt::hex<<currentFrame->crc; +/* KDRStdErr()<<currentFrame->regions.last()->dataSize; QFile fl("/tmp/client/failed.jpg"); fl.open(QFile::WriteOnly); fl.write((const char*)messageBuffer, currentFrame->regions.last()->dataSize); @@ -1151,7 +1177,7 @@ void Client::getFrameRegion() currentFrame->regions.append(region); -// qDebug()<<"got region "<<currentFrame->regions.count()-1<<"from" +// KDRStdErr()<<"got region "<<currentFrame->regions.count()-1<<"from" // <<currentFrame->numOfRegions<<"source: "<<region->source_crc<<"size: "<<region->dataSize; if(!region->source_crc) { @@ -1188,31 +1214,31 @@ void Client::readDataHeader() case FRAME: { -// qDebug()<<"frame"; +// KDRStdErr()<<"frame"; getImageFrame(); break; } case CURSOR: { -// qDebug()<<"cursor"; +// KDRStdErr()<<"cursor"; getCursor(); break; } case DELETEDFRAMES: { -// qDebug()<<"deleted frames"; +// KDRStdErr()<<"deleted frames"; getDeletedFrames(); break; } case DELETEDCURSORS: { -// qDebug()<<"deleted cursors"; +// KDRStdErr()<<"deleted cursors"; getDeletedCursors(); break; } case SELECTION: { -// qDebug()<<"Get Selection"; +// KDRStdErr()<<"Get Selection"; getSelection(); break; } @@ -1233,7 +1259,7 @@ void Client::readDataHeader() } default: { - qDebug()<<"Unsupported header type: "<<data_type; + KDRStdErr()<<"Unsupported header type: "<<data_type; exitOnError(tr("Unsupported header type")); break; } @@ -1244,7 +1270,7 @@ void Client::readDataHeader() void Client::dataArrived() { -// qDebug()<<"Have available:"<<clientSocket->bytesAvailable(); +// KDRStdErr()<<"Have available:"<<clientSocket->bytesAvailable(); if(!bytesLeftToRead) { bytesLeftToRead=HEADER_SIZE; @@ -1254,10 +1280,10 @@ void Client::dataArrived() } if(!messageBuffer) { -// qDebug()<<"init message buffer: "<<bytesLeftToRead; +// KDRStdErr()<<"init message buffer: "<<bytesLeftToRead; messageBuffer=new char[bytesLeftToRead]; } -// qDebug()<<"trying to read bytes:"<<bytesLeftToRead; +// KDRStdErr()<<"trying to read bytes:"<<bytesLeftToRead; int length=clientSocket->read(messageBuffer+bytesReady, bytesLeftToRead); bytesLeftToRead-=length; bytesReady+=length; @@ -1268,49 +1294,49 @@ void Client::dataArrived() { case HEADER: { -// qDebug()<<"header"; +// KDRStdErr()<<"header"; readDataHeader(); break; } case FRAMEREGION: { -// qDebug()<<"frame region"; +// KDRStdErr()<<"frame region"; getFrameRegion(); break; } case REGIONDATA: { -// qDebug()<<"region data"; +// KDRStdErr()<<"region data"; getRegionImage(); break; } case CURSORDATA: { -// qDebug()<<"cursor data"; +// KDRStdErr()<<"cursor data"; getCursorImage(); break; } case SELECTIONBUFFER: { -// qDebug()<<"selection"; +// KDRStdErr()<<"selection"; getSelectionBuffer(); break; } case CURSORLIST: { -// qDebug()<<"cursor list"; +// KDRStdErr()<<"cursor list"; getDeletedCursorsList(); break; } case FRAMELIST: { -// qDebug()<<"frame list"; +// KDRStdErr()<<"frame list"; getDeletedFramesList(); break; } default: { - qDebug()<<"not ready"; + KDRStdErr()<<"not ready"; exitOnError(tr("This function not ready yet")); } } @@ -1324,27 +1350,25 @@ void Client::dataArrived() void Client::socketConnected() { displayArea->setStyleSheet("QFrame#DisplayArea{background-color:black;}"); - fprintf(stderr,"Connected to server\n"); - - fprintf(stderr,"Established X server connection\n"); + KDRStdErr(false)<<"Connected to server"<<Qt::endl<<"Established X server connection"; if(cookie.length()) { if(cookie.length()!=32) { - qDebug()<<"Wrong length of cookie should be 32, not"<<cookie.length(); + KDRStdErr()<<"Wrong length of cookie should be 32, not "<<cookie.length(); exitOnError(tr("Wrong cookie length")); } - qDebug()<<"Sending Cookie to server"; + KDRStdErr()<<"Sending Cookie to server"; if(clientSocket->write(cookie.toLatin1().data(), 32)!=32) { - qDebug()<<"Failed to send auth cookie to server"; + KDRStdErr()<<"Failed to send auth cookie to server"; exitOnError(tr("Failed to send auth cookie to server")); } } else { - qDebug()<<"Not sending cookie to server"; + KDRStdErr()<<"Not sending cookie to server"; } connected=true; @@ -1358,7 +1382,7 @@ void Client::checkServerVersion() { if(!serverVersion) { - qDebug()<<"Server Version is 0, please update your x2gokdrive package"; + KDRStdErr()<<"Server Version is 0, please update your x2gokdrive package"; //if the server bversion is 0, we didn't init the geometry yet initGeometry(); } @@ -1384,7 +1408,7 @@ void Client::initGeometry() void Client::socketDisconnected() { connected=false; - qDebug()<<"Disconnected from Server"; + KDRStdErr()<<"Disconnected from Server"; QApplication::closeAllWindows(); close(); QApplication::exit(0); @@ -1392,7 +1416,7 @@ void Client::socketDisconnected() void Client::socketError(QAbstractSocket::SocketError ) { - qDebug()<<clientSocket->errorString(); + KDRStdErr()<<clientSocket->errorString(); exitOnError(clientSocket->errorString()); } @@ -1444,14 +1468,14 @@ void Client::resizeToOldSize() void Client::slotScreenAdded(QScreen* screen) { - qDebug()<<"Add screen:"<<screen->geometry()<<"Dimensions(mm)"<<screen->physicalSize(); + KDRStdErr()<<"Add screen: "<<QRectToStr(screen->geometry())<<" Dimensions(mm) "<<QSizeToStr(screen->physicalSize()); connect(screen, &QScreen::geometryChanged, this, &Client::geometryChanged); geometryChanged(); } void Client::slotScreenRemoved(QScreen* screen) { - qDebug()<<"Remove screen:"<<screen->geometry(); + KDRStdErr()<<"Remove screen: "<<QRectToStr(screen->geometry()); disconnect(screen, &QScreen::geometryChanged, this, &Client::geometryChanged); geometryChanged(); } @@ -1478,7 +1502,7 @@ void Client::sendGeometryEvent() { bool isPrimary=(i==primaryScreenIndex); QRect* scr=&ephyrScreens[i]; -// qDebug()<<"X2GoKDrive-"<<i<<scr->size().width()<<scr->size().height()<<scr->topLeft().x()<<scr->topLeft().y()<<isPrimary; +// KDRStdErr()<<"X2GoKDrive-"<<i<<scr->size().width()<<scr->size().height()<<scr->topLeft().x()<<scr->topLeft().y()<<isPrimary; if(isPrimary) { memcpy(evmsg+8,(char*)&i,1); @@ -1498,7 +1522,7 @@ void Client::sendGeometryEvent() } else { - qDebug()<<"not supporting more then 4 displays yet, not sending this display to server"; + KDRStdErr()<<"not supporting more then 4 displays yet, not sending this display to server"; } } sendEvent(evmsg); @@ -1523,7 +1547,7 @@ void Client::sendClientVersion() memcpy(evmsg,(char*)&etype,4); memcpy(evmsg+4,(char*)&version,2); memcpy(evmsg+6,(char*)&os,2); - qDebug()<<"Sending version:"<<version<<"OS:"<<os; + KDRStdErr()<<"Sending version: "<<version<<" OS: "<<os; sendEvent(evmsg); } @@ -1552,7 +1576,7 @@ void Client::geometryChanged() newGeometry.setTopLeft(geometry().topLeft()); newGeometry.setSize(geometry().size()); - qDebug()<<"geometry changed: "<<newGeometry<<currentGeometry; + KDRStdErr()<<"geometry changed: "<<QRectToStr(newGeometry)<<" "<<QRectToStr(currentGeometry); QGuiApplication* app=(QGuiApplication*)QGuiApplication::instance(); QRect newScreens[4]; @@ -1564,12 +1588,12 @@ void Client::geometryChanged() QList <QScreen*> screens=app->screens(); foreach(QScreen* screen, screens) { - // qDebug()<<screen->geometry()<<primary; + // KDRStdErr()<<screen->geometry()<<primary; if(screen->geometry().intersects(newGeometry)) { QRect inter=newGeometry.intersected(screen->geometry()); newScreens[screenIndex++]=QRect(inter.topLeft().x()-newGeometry.topLeft().x(), inter.topLeft().y()-newGeometry.topLeft().y(), inter.width(), inter.height()); - // qDebug()<<"Virtual screen:"<<screenIndex-1<<newScreens[screenIndex-1]; + // KDRStdErr()<<"Virtual screen:"<<screenIndex-1<<newScreens[screenIndex-1]; if(app->primaryScreen()==screen) { if ( screenIndex != primaryScreenIndex) @@ -1613,7 +1637,7 @@ void Client::geometryChanged() //so we first resize window with width-1 and then resize it to original size if(!geometryChanged) { -// qDebug()<<"Screen Changed without geometry, running resize hack!!!!!"; + // KDRStdErr()<<"Screen Changed without geometry, running resize hack!!!!!"; restoreGeometry=currentGeometry; currentGeometry.setWidth(currentGeometry.width()-1); QTimer::singleShot(100,this, &Client::resizeToOldSize); @@ -1657,7 +1681,7 @@ void Client::slotSelectionChanged(QClipboard::Mode mode) if(mode == QClipboard::Selection && clipboard->ownsSelection()) return; const QMimeData *mimeData = clipboard->mimeData(mode); - qDebug()<<"selection changed for"<<mode<<mimeData->formats(); + KDRStdErr()<<"selection changed for "<<mode<<mimeData->formats(); SelectionType destination=PRIMARY; if(mode== QClipboard::Clipboard) @@ -1668,17 +1692,17 @@ void Client::slotSelectionChanged(QClipboard::Mode mode) if(mimeData->hasImage()) { - qDebug()<<"Have new Image"; + KDRStdErr()<<"Have new Image"; mime=PIXMAP; } else if(mimeData->hasText()) { - qDebug()<<"Have new Text"; + KDRStdErr()<<"Have new Text"; mime=UTF_STRING; } else { - qDebug()<<"Unsupported MIME type in clipboard"; + KDRStdErr()<<"Unsupported MIME type in clipboard"; return; } @@ -1727,24 +1751,24 @@ void Client::sendSelectionToServer(SelectionType selection) buffer.open(QIODevice::WriteOnly); QPixmap pix=clipboard->pixmap(mode); pix.save(&buffer, "PNG"); - qDebug()<<"Selection image size"<<pix<<data.size(); + KDRStdErr()<<"Selection image size "<< data.size(); mime=PIXMAP; } else if(mimeData->hasText()) { data=clipboard->text(mode).toUtf8(); - qDebug()<<"Selection Text"<<data.size(); + KDRStdErr()<<"Selection Text "<< data.size(); mime=UTF_STRING; } else { - qDebug()<<"Unsupported MIME type in clipboard"; + KDRStdErr()<<"Unsupported MIME type in clipboard"; return; } if(!data.size()) { - qDebug()<<"no data"; + KDRStdErr()<<"no data"; return; } @@ -1772,7 +1796,7 @@ void Client::sendOutputSelChunk() if(!serverSupportsExtSelection() && (!chunk->firstChunk || !chunk->lastChunk)) { //selection has multiply chunks, but this server doesn't support ext selection, not sending anything - qDebug()<<"Server doesn't support extended selections"; + KDRStdErr()<<"Server doesn't support extended selections"; delete chunk; return; } @@ -1808,14 +1832,14 @@ void Client::sendOutputSelChunk() memcpy(evmsg+11,(char*)&lastChunk,1); memcpy(evmsg+12,(char*)&compressed_size,4); memcpy(evmsg+16,(char*)&totalSize,4); -// qDebug()<<"size of chunk: "<<size<<" compressed: "<<compressed_size<<"total: "<<totalSize; + // KDRStdErr()<<"size of chunk: "<<size<<" compressed: "<<compressed_size<<"total: "<<totalSize; } uint headerSize=10; if(serverSupportsExtSelection()) headerSize=20; -// qDebug()<<"SEND SELECTION"<<size<<destination<<mime; +// KDRStdErr()<<"SEND SELECTION"<<size<<destination<<mime; char* data_ptr=chunk->data.data(); if(compressed_size) @@ -1835,7 +1859,7 @@ void Client::sendOutputSelChunk() sentData+=msg_length; sendEvent(evmsg); } -// qDebug()<<"sent: "<<sentData<<"from"<<size; +// KDRStdErr()<<"sent: "<<sentData<<"from"<<size; delete chunk; } @@ -1860,13 +1884,13 @@ void Client::requestCacheRebuild() uint32_t etype; etype=CACHEREBUILD; memcpy(evmsg,(char*)&etype,4); - qDebug()<<"Requesting cache rebuild"; + KDRStdErr()<<"Requesting cache rebuild"; sendEvent(evmsg); } void Client::reinitCaches() { - qDebug()<<"Clearing all caches"; + KDRStdErr()<<"Clearing all caches"; cursorCache.clear(); frameCache.clear(); wantRepaint=false; diff --git a/client.h b/client.h index bb42f5e..c71e234 100644 --- a/client.h +++ b/client.h @@ -21,7 +21,6 @@ #ifndef CLIENT_H #define CLIENT_H - //FEATURE_VERSION is not cooresponding to actual version of client //it used to tell server which features are supported by client //Changes 1 - 2: supporting extended selection and sending selection on demand @@ -92,6 +91,9 @@ enum ClipboardMode{CLIP_BOTH, CLIP_SERVER, CLIP_CLIENT, CLIP_NONE}; #include <QAbstractSocket> #include <stdlib.h> #include <QClipboard> +#include <stdio.h> +#include <QTextStream> + #ifdef Q_OS_LINUX @@ -174,6 +176,9 @@ public: void send_selnotify_to_server(SelectionType selection, SelectionMime mime); int max_chunk(); static QByteArray zuncompress(const char* data, uint compressed_size, uint size); + static QTextStream& KDRStdErr(bool dbg=true); + static QString QRectToStr(const QRect& rec); + static QString QSizeToStr(const QSizeF& sz); public slots: void sendOutputSelChunk(); @@ -243,7 +248,7 @@ private: void setInputSelectionData(SelectionType selection, SelectionMime mime, bool firstChunk, bool lastChunk, uint32_t compressed, uint size, char* data, bool notify=false); #endif - + static bool debug; //initial values int width=800; int height=600; diff --git a/debian/changelog b/debian/changelog index cac49e4..62560ad 100644 --- a/debian/changelog +++ b/debian/changelog @@ -34,5 +34,6 @@ x2gokdriveclient (0.0.0.1-0x2go1) UNRELEASED; urgency=medium - reiniting of frame and cursors caches if cache is corrupted. - support for --debug command line argument. - wait for server version before requesting main image. + - use QTextStream(stderr) instead of qDebug. -- Mike Gabriel <mike.gabr...@das-netzwerkteam.de> Tue, 04 Jun 2019 11:10:43 +0200 diff --git a/displayarea.cpp b/displayarea.cpp index c536b44..c4622e7 100644 --- a/displayarea.cpp +++ b/displayarea.cpp @@ -19,7 +19,6 @@ */ #include "displayarea.h" #include <QPainter> -#include <QDebug> #include <QPaintEvent> #include <QMouseEvent> #include <QWheelEvent> @@ -49,12 +48,12 @@ LRESULT CALLBACK LowLevelKeyboardProc( { if(!display->hasFocus()) { -// qDebug()<<"Not in focus, not processing events"; +// Client::KDRStdErr()<<"Not in focus, not processing events"; return CallNextHookEx(0, nCode, wParam,lParam); } if(nCode<0) { -// qDebug()<<"Not processing this event"; +// Client::KDRStdErr()<<"Not processing this event"; return CallNextHookEx(0, nCode, wParam,lParam); } @@ -100,16 +99,16 @@ DisplayArea::DisplayArea(Client* parent):QFrame(parent) void DisplayArea::grabKeyboard() { #ifdef Q_OS_LINUX - qDebug()<<"Grab X11 Keyboard"; + Client::KDRStdErr()<<"Grab X11 Keyboard"; xcb_grab_key(QX11Info::connection(), 0, winId(), XCB_MOD_MASK_ANY, XCB_GRAB_ANY, XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC); #endif #ifdef Q_OS_WIN display=this; - qDebug()<<"Setting Windows Keyboard hook"; + Client::KDRStdErr()<<"Setting Windows Keyboard hook"; if(!SetWindowsHookExA( WH_KEYBOARD_LL,LowLevelKeyboardProc,0, 0 )) { - qDebug()<<"Set kbd hook Failed"<<GetLastError(); + Client::KDRStdErr()<<"Set kbd hook Failed "<<GetLastError(); } #endif } @@ -122,7 +121,7 @@ void DisplayArea::slotGrabDisplay() { if(hasUpdates) { -// qDebug()<<"save display"; +// Client::KDRStdErr()<<"save display"; QScreen *screen = QGuiApplication::primaryScreen(); displayPix = screen->grabWindow(winId()); hasUpdates=false; @@ -149,7 +148,7 @@ void DisplayArea::setDisplayPix(QPixmap pix, int32_t x, int32_t y) void DisplayArea::paintEvent(QPaintEvent* ev) { -// qDebug()<<"paint event:"<<ev->rect(); +// Client::KDRStdErr()<<"paint event:"<<ev->rect(); QPainter painter; if(! displayPix.isNull()) { @@ -201,7 +200,7 @@ void DisplayArea::paintEvent(QPaintEvent* ev) painter.end(); } else - qDebug()<<"DISPLAY PIX IS NULL"; + Client::KDRStdErr()<<"DISPLAY PIX IS NULL"; } uint32_t DisplayArea::X11MouseButtonsState(Qt::MouseButtons qtMouseButtons) @@ -244,7 +243,7 @@ void DisplayArea::mouseMoveEvent(QMouseEvent* event) uint32_t etype, x, y; etype=MOUSEMOTION; -// qDebug()<<"kbd mods"<<event->modifiers(); +// Client::KDRStdErr()<<"kbd mods"<<event->modifiers(); x=event->x(); y=event->y(); @@ -255,13 +254,13 @@ void DisplayArea::mouseMoveEvent(QMouseEvent* event) parent->sendEvent(evmsg); -// qDebug()<<"mouse move"<<event->x()<<event->y(); +// Client::KDRStdErr()<<"mouse move"<<event->x()<<event->y(); } void DisplayArea::mousePressEvent(QMouseEvent* event) { -// qDebug()<<"kbd mods"<<event->modifiers(); +// Client::KDRStdErr()<<"kbd mods"<<event->modifiers(); char evmsg[EVLENGTH]={}; uint32_t etype, state, button; etype=MOUSEPRESS; @@ -275,12 +274,12 @@ void DisplayArea::mousePressEvent(QMouseEvent* event) parent->sendEvent(evmsg); -// qDebug()<<"mouse press"<<event->button()<<event->buttons()<<button<<state; +// Client::KDRStdErr()<<"mouse press"<<event->button()<<event->buttons()<<button<<state; } void DisplayArea::mouseReleaseEvent(QMouseEvent* event) { -// qDebug()<<"kbd mods"<<event->modifiers(); +// Client::KDRStdErr()<<"kbd mods"<<event->modifiers(); char evmsg[EVLENGTH]={}; uint32_t etype, state, button; etype=MOUSERELEASE; @@ -294,12 +293,12 @@ void DisplayArea::mouseReleaseEvent(QMouseEvent* event) parent->sendEvent(evmsg); -// qDebug()<<"mouse release"<<event->button()<<event->buttons()<<button<<state; +// Client::KDRStdErr()<<"mouse release"<<event->button()<<event->buttons()<<button<<state; } void DisplayArea::wheelEvent(QWheelEvent* event) { -// qDebug()<<"mouse wheel event"<<event->buttons()<<event->angleDelta(); +// Client::KDRStdErr()<<"mouse wheel event"<<event->buttons()<<event->angleDelta(); char evmsg[EVLENGTH]={}; uint32_t etype, state, button; @@ -320,7 +319,7 @@ void DisplayArea::wheelEvent(QWheelEvent* event) memcpy(evmsg+4,(char*)&state,4); memcpy(evmsg+8,(char*)&button,4); -// qDebug()<<etype<<state<<button; +// Client::KDRStdErr()<<etype<<state<<button; parent->sendEvent(evmsg); etype=MOUSERELEASE; @@ -341,7 +340,7 @@ void DisplayArea::wheelEvent(QWheelEvent* event) memcpy(evmsg+4,(char*)&state,4); memcpy(evmsg+8,(char*)&button,4); -// qDebug()<<etype<<state<<button; +// Client::KDRStdErr()<<etype<<state<<button; parent->sendEvent(evmsg); } @@ -349,32 +348,32 @@ void DisplayArea::wheelEvent(QWheelEvent* event) void DisplayArea::debugLinuxMods(uint32_t nativeModifiers) { if(nativeModifiers&ShiftMask) - qDebug()<<"shift"; + Client::KDRStdErr()<<"shift"; if(nativeModifiers&ControlMask) - qDebug()<<"ctrl"; + Client::KDRStdErr()<<"ctrl"; if(nativeModifiers&LockMask) - qDebug()<<"lock"; + Client::KDRStdErr()<<"lock"; if(nativeModifiers&Mod1Mask) - qDebug()<<"mod1"; + Client::KDRStdErr()<<"mod1"; if(nativeModifiers&Mod2Mask) - qDebug()<<"mod2"; + Client::KDRStdErr()<<"mod2"; if(nativeModifiers&Mod3Mask) - qDebug()<<"mod3"; + Client::KDRStdErr()<<"mod3"; if(nativeModifiers&Mod4Mask) - qDebug()<<"mod4"; + Client::KDRStdErr()<<"mod4"; if(nativeModifiers&Mod5Mask) - qDebug()<<"mod5"; + Client::KDRStdErr()<<"mod5"; if(nativeModifiers&WINCAPS) - qDebug()<<"win caps"; + Client::KDRStdErr()<<"win caps"; if(nativeModifiers&WINNUM) - qDebug()<<"win num"; + Client::KDRStdErr()<<"win num"; } */ void DisplayArea::keyPressEvent(QKeyEvent* event) { /* - qDebug()<<"Press key:"<<event->key()<<"mod:"<<event->modifiers()<<"nat mod:"<<event->nativeModifiers()<< + Client::KDRStdErr()<<"Press key:"<<event->key()<<"mod:"<<event->modifiers()<<"nat mod:"<<event->nativeModifiers()<< "nat scan:"<<event->nativeScanCode()<<"nat vkey:"<<event->nativeVirtualKey()<<"text:"<<event->text(); // debugLinuxMods(event->nativeModifiers());*/ @@ -397,7 +396,7 @@ void DisplayArea::keyPressEvent(QKeyEvent* event) void DisplayArea::keyReleaseEvent(QKeyEvent* event) { /* - qDebug()<<"Release key:"<<event->key()<<"mod:"<<event->modifiers()<<"nat mod:"<<event->nativeModifiers()<< + Client::KDRStdErr()<<"Release key:"<<event->key()<<"mod:"<<event->modifiers()<<"nat mod:"<<event->nativeModifiers()<< "nat scan:"<<event->nativeScanCode()<<"nat vkey:"<<event->nativeVirtualKey()<<"text:"<<event->text(); */ diff --git a/menuframe.cpp b/menuframe.cpp index 4db0ffe..a46cd75 100644 --- a/menuframe.cpp +++ b/menuframe.cpp @@ -19,7 +19,6 @@ */ #include <menuframe.h> -#include <QDebug> #include <QMouseEvent> #include <QCursor> #include <QToolButton> @@ -234,7 +233,7 @@ void MenuFrame::adjustPosition() int y=0; int x=0; -// qDebug()<<"Widget width"<<width(); +// Client::KDRStdErr()<<"Widget width"<<width(); switch(orientation) { case BOTTOM: @@ -325,7 +324,7 @@ void MenuFrame::applyStyle() QString bgCol; QColor col=pal.color(QPalette::Window); - bgCol.sprintf("rgba(%d,%d,%d,%d)",col.red(), col.green(), col.blue() ,col.alpha()) ; + bgCol.asprintf("rgba(%d,%d,%d,%d)",col.red(), col.green(), col.blue() ,col.alpha()) ; switch(orientation) { @@ -470,7 +469,7 @@ void MenuFrame::setHasPointer(bool hasPointer) if(hasPointer==hovered) return; hovered=hasPointer; -// qDebug()<<"hovered:"<<hovered; +// Client::KDRStdErr()<<"hovered:"<<hovered; int newY=y(); int newX=x(); @@ -514,7 +513,7 @@ void MenuFrame::mouseReleaseEvent(QMouseEvent* ) void MenuFrame::setPinned(bool toggled) { - qDebug()<<"pinned: "<<toggled; + Client::KDRStdErr()<<"pinned: "<<toggled; isPinned=toggled; QSettings s( "Obviously Nice","x2gokdriveclient"); s.setValue("pinned",isPinned); diff --git a/xcbclip.cpp b/xcbclip.cpp index c5a9c51..6adf47c 100644 --- a/xcbclip.cpp +++ b/xcbclip.cpp @@ -19,7 +19,6 @@ */ #include "xcbclip.h" -#include <QDebug> #include <QX11Info> #include <QTimer> #include <QBuffer> @@ -74,7 +73,7 @@ XCBClip::XCBClip(Client* parent) xfixes_query = xcb_xfixes_query_version_reply (con, xfixes_query_cookie, &error); if (!xfixes_query || error || xfixes_query->major_version < 2) { - qDebug()<<"XFixes query failed"; + Client::KDRStdErr()<<"XFixes query failed"; free(error); } else @@ -113,7 +112,7 @@ xcb_atom_t XCBClip::atom(const QString& name) cookie = xcb_intern_atom(con, 0, name.length(), name.toLatin1().data()); if ((reply = xcb_intern_atom_reply(con, cookie, NULL))) { -// qDebug()<<"found atom for "<<name; +// Client::KDRStdErr()<<"found atom for "<<name; a=reply->atom; free(reply); } @@ -267,27 +266,27 @@ void XCBClip::processDelayedRequests() SelectionType selection = selection_from_atom( d->request->selection); if(currentXTime() > (d->request->time + SELECTION_DELAY)) { -// qDebug()<<"timeout selection: "<<selection; +// Client::KDRStdErr()<<"timeout selection: "<<selection; discardDelayedRequest(i); continue; } if(!inputSelection[selection].owner) { -// qDebug()<<"we are not owner of requested selection: "<<selection; +// Client::KDRStdErr()<<"we are not owner of requested selection: "<<selection; //we are not anymore owners of this selection discardDelayedRequest(i); continue; } if(inputSelection[selection].timestamp > d->request->time ) { -// qDebug()<<"selection request for "<<selection<<" is too old"; +// Client::KDRStdErr()<<"selection request for "<<selection<<" is too old"; //requested selection is older than the current one discardDelayedRequest(i); continue; } if(!check_req_sanity(d->request)) { -// qDebug()<<"can't convert selection "<<selection<<" to requested myme type "<<d->request->property; +// Client::KDRStdErr()<<"can't convert selection "<<selection<<" to requested myme type "<<d->request->property; //our selection don't support requested mime type discardDelayedRequest(i); continue; @@ -311,7 +310,7 @@ void XCBClip::updateCurrentTime(xcb_timestamp_t t) //update current time lastXTime=t; timeDifference=QDateTime::currentMSecsSinceEpoch() - t; -// qDebug()<<"X time dif:"<<QDateTime::currentMSecsSinceEpoch() - t<<"x11 time"<<t<<"calculated: "<<currentXTime(); +// Client::KDRStdErr()<<"X time dif:"<<QDateTime::currentMSecsSinceEpoch() - t<<"x11 time"<<t<<"calculated: "<<currentXTime(); } } @@ -346,10 +345,10 @@ void XCBClip::checkEvents() updateCurrentTime(notify_event->timestamp); -// qDebug()<<"SEL OWNER notify, selection:"<<notify_event->selection<< " window "<< notify_event->window<< "owner"<< notify_event->owner; +// Client::KDRStdErr()<<"SEL OWNER notify, selection:"<<notify_event->selection<< " window "<< notify_event->window<< "owner"<< notify_event->owner; if(notify_event->owner == clipWinId) { -// qDebug()<<"not processing, we are the owner of this notify"; +// Client::KDRStdErr()<<"not processing, we are the owner of this notify"; } else { @@ -357,7 +356,7 @@ void XCBClip::checkEvents() { case CLIP_SERVER: case CLIP_NONE: - qDebug()<<"Client selection is disabled"; + Client::KDRStdErr()<<"Client selection is disabled"; return; default: break; @@ -401,7 +400,7 @@ void XCBClip::checkEvents() } else { -// qDebug()<<"not processing this event "<<response_type; +// Client::KDRStdErr()<<"not processing this event "<<response_type; } } @@ -418,7 +417,7 @@ void XCBClip::process_selection_notify(xcb_generic_event_t *e) { xcb_selection_notify_event_t *sel_event; -// qDebug()<<"selection notify"; +// Client::KDRStdErr()<<"selection notify"; sel_event=(xcb_selection_notify_event_t *)e; updateCurrentTime(sel_event->time); @@ -429,15 +428,15 @@ void XCBClip::process_selection_notify(xcb_generic_event_t *e) if (sel_event->requestor != clipWinId) { -// qDebug()<<("not our window"); +// Client::KDRStdErr()<<("not our window"); return; } else { -// qDebug()<<"selection notify sel , target , property "<< sel_event->selection<< sel_event->target<< sel_event->property; +// Client::KDRStdErr()<<"selection notify sel , target , property "<< sel_event->selection<< sel_event->target<< sel_event->property; if(sel_event->property==XCB_NONE) { -// qDebug()<<( "NO SELECTION"); +// Client::KDRStdErr()<<( "NO SELECTION"); } else { @@ -471,7 +470,7 @@ void XCBClip::remove_obsolete_incr_transactions( bool checkTs) { if( (!checkTs) || ( incrTransactions[i]->timestamp+SELECTION_DELAY < QDateTime::currentMSecsSinceEpoch())) { - qDebug()<<"timeout INCR selection for "<<incrTransactions[i]->requestor<<incrTransactions[i]->timestamp<< QDateTime::currentMSecsSinceEpoch(); + Client::KDRStdErr()<<"timeout INCR selection for "<<incrTransactions[i]->requestor<<" "<<incrTransactions[i]->timestamp<<" "<<QDateTime::currentMSecsSinceEpoch(); destroy_incr_transaction(i); } } @@ -490,7 +489,7 @@ void XCBClip::process_incr_transaction_property(xcb_property_notify_event_t * pn uint left=tr->data.size()-tr->sentBytes; if(!left) { -// qDebug()<<"all INCR data sent to"<<tr->requestor; +// Client::KDRStdErr()<<"all INCR data sent to "<<tr->requestor; //all data sent, sending NULL data and destroying transaction xcb_change_property(con, XCB_PROP_MODE_REPLACE, tr->requestor, tr->property, tr->target, 8, 0, NULL); @@ -500,7 +499,7 @@ void XCBClip::process_incr_transaction_property(xcb_property_notify_event_t * pn } uint sendingBytes=(INCR_SIZE< left)?INCR_SIZE:left; -// qDebug()<<"sending incr bytes"<<sendingBytes ; +// Client::KDRStdErr()<<"sending incr bytes "<<sendingBytes ; xcb_change_property(con, XCB_PROP_MODE_REPLACE, tr->requestor, tr->property, tr->target, 8, sendingBytes, tr->data.constData() + tr->sentBytes); @@ -518,7 +517,7 @@ void XCBClip::process_property_notify(xcb_generic_event_t *e) { xcb_property_notify_event_t *pn; -// qDebug()<<("property notify"); +// Client::KDRStdErr()<<("property notify"); pn = (xcb_property_notify_event_t *)e; updateCurrentTime(pn->time); @@ -530,13 +529,13 @@ void XCBClip::process_property_notify(xcb_generic_event_t *e) process_incr_transaction_property(pn); return; } -// qDebug()<<"property, state "<< pn->atom<< pn->state; +// Client::KDRStdErr()<<"property, state "<< pn->atom<< pn->state; if(pn->state==XCB_PROPERTY_NEW_VALUE) { if(incrAtom==pn->atom && incrementalSize) { //we recieveing the selection data incrementally, let's read a next chunk -// qDebug()<<"reading incr property "<< pn->atom; +// Client::KDRStdErr()<<"reading incr property "<< pn->atom; read_selection_property(currentSelection, pn->atom); } } @@ -558,13 +557,13 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) reply=xcb_get_property_reply(con, cookie, NULL); if(!reply) { - qDebug()<<( "NULL reply"); + Client::KDRStdErr()<< "NULL reply"; } else { if(reply->type==XCB_NONE) { -// qDebug()<<( "NONE reply"); +// Client::KDRStdErr()<< "NONE reply"; } else { @@ -572,12 +571,12 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) stype=atom_name(reply->type); sprop=atom_name(property); -// qDebug()<< "Property, type, format, length"<< sprop<< stype<< reply->format<< reply->length; +// Client::KDRStdErr()<< "Property, type, format, length"<< sprop<< stype<< reply->format<< reply->length; //need to read property incrementally if(reply->type == atom("INCR")) { unsigned int sz=*((unsigned int*) xcb_get_property_value(reply)); -// qDebug()<< "have incr property size: "<< sz; +// Client::KDRStdErr()<< "have incr property size: "<< sz; incrAtom=property; incrementalSize=sz; incrementalSizeRead=0; @@ -593,12 +592,12 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) { if(reply->format!=32) { - qDebug()<<( "wrong format for TARGETS"); + Client::KDRStdErr()<<( "wrong format for TARGETS"); } else { QStringList atoms=atomsInReply(reply); -// qDebug() << "target supports mime types:"<<atoms; +// Client::KDRStdErr() << "target supports mime types:"<<atoms; data_atom=0; //get the best of supported mime types and request the selection in this format data_atom=best_atom_from_list(atoms); @@ -615,7 +614,7 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) mime = PIXMAP; } -// qDebug()<<"MIME"<<mime; +// Client::KDRStdErr()<<"MIME"<<mime; parent->send_selnotify_to_server(sel,mime); } else @@ -629,7 +628,7 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) request_selection_data( selection, data_atom, data_atom, 0); else { -// qDebug()<<( "there are no supported mime types in the target"); +// Client::KDRStdErr()<<( "there are no supported mime types in the target"); } } } @@ -687,7 +686,7 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) if(!bytes_left && ! bytes_read && !xcb_get_property_value_length(reply)) { //we got the property with 0 size it means that we recieved all data of incr property -// qDebug()<<"INCR Property done, read " << incrementalSizeRead; +// Client::KDRStdErr()<<"INCR Property done, read " << incrementalSizeRead; incrAtom=0; incrementalSize=0; //it's the last chunk @@ -712,7 +711,7 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) } bytes_read+=xcb_get_property_value_length(reply); -// qDebug()<<"read chunk of selection - size, total read, left, first:, last:"<< xcb_get_property_value_length(reply)<< bytes_read<< bytes_left<< chunk->firstChunk<< chunk->lastChunk; +// Client::KDRStdErr()<<"read chunk of selection - size, total read, left, first:, last:"<< xcb_get_property_value_length(reply)<< bytes_read<< bytes_left<< chunk->firstChunk<< chunk->lastChunk; //attach chunk to the end of output chunk queue parent-> addToSelectionOutput(chunk); @@ -728,7 +727,7 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) if(!reply) { //something is wrong - qDebug()<<("NULL reply"); + Client::KDRStdErr()<<("NULL reply"); break; } } @@ -738,7 +737,7 @@ void XCBClip::read_selection_property(xcb_atom_t selection, xcb_atom_t property) else { stype=atom_name(reply->type); - qDebug()<<"Not supported mime type: "<<stype << reply->type; + Client::KDRStdErr()<<"Not supported mime type: "<<stype << reply->type; } } if(reply) @@ -791,7 +790,7 @@ void XCBClip::setInputSelectionData(SelectionType selection, SelectionMime mime, { //if notify is true, we don't have actual data, just notification //copy data to selection buffer -// qDebug()<<"Get chunk of input selection: selection, myme, firstChunk, lastChunk, compressed, size:"<<selection<<mime<<firstChunk<<lastChunk<<compressed<<size<<notify; +// Client::KDRStdErr()<<"Get chunk of input selection: selection, myme, firstChunk, lastChunk, compressed, size:"<<selection<<mime<<firstChunk<<lastChunk<<compressed<<size<<notify; if(firstChunk) @@ -807,7 +806,7 @@ void XCBClip::setInputSelectionData(SelectionType selection, SelectionMime mime, { total_compressed+=compressed; inputSelection[selection].selData.append(Client::zuncompress(data, compressed, size)); -// qDebug()<<"uncompress from "<<compressed<<" to "<<size; +// Client::KDRStdErr()<<"uncompress from "<<compressed<<" to "<<size; } if(lastChunk ) @@ -815,7 +814,7 @@ void XCBClip::setInputSelectionData(SelectionType selection, SelectionMime mime, if(notify) { inputSelection[selection].state=InputSelection::NOTIFIED; -// qDebug()<<"Got selection notify from server"; +// Client::KDRStdErr()<<"Got selection notify from server"; own_selection(selection); } else @@ -826,7 +825,7 @@ void XCBClip::setInputSelectionData(SelectionType selection, SelectionMime mime, own_selection(selection); } inputSelection[selection].state=InputSelection::COMPLETED; -// qDebug()<<"Got selection data for "<<selection<<"total size: "<<inputSelection[selection].selData.size()<<"compressed size"<<total_compressed; +// Client::KDRStdErr()<<"Got selection data for "<<selection<<"total size: "<<inputSelection[selection].selData.size()<<"compressed size"<<total_compressed; } } @@ -838,7 +837,7 @@ void XCBClip::own_selection(SelectionType selection) { case CLIP_CLIENT: case CLIP_NONE: - qDebug()<<"Server selection is disabled"; + Client::KDRStdErr()<<"Server selection is disabled"; return; default: break; @@ -878,11 +877,11 @@ bool XCBClip::process_selection_request(xcb_generic_event_t *e) SelectionType sel=selection_from_atom(req->selection); -// qDebug()<<"selection request for"<<atom_name(req->selection)<<atom_name(req->target)<<atom_name(req->property)<< "from "<<req->requestor<<"we are "<<clipWinId; +// Client::KDRStdErr()<<"selection request for"<<atom_name(req->selection)<<atom_name(req->target)<<atom_name(req->property)<< "from "<<req->requestor<<"we are "<<clipWinId; if(!inputSelection[sel].owner) { //we don't own this selection -// qDebug()<<"not our selection"; +// Client::KDRStdErr()<<"not our selection"; xcb_send_event(con, false, req->requestor, XCB_EVENT_MASK_NO_EVENT, (char*)event); xcb_flush(con); free(event); @@ -892,7 +891,7 @@ bool XCBClip::process_selection_request(xcb_generic_event_t *e) if(inputSelection[sel].timestamp > req->time) { //selection changed after request -// qDebug()<<"requested selection doesn't exist anymore"; +// Client::KDRStdErr()<<"requested selection doesn't exist anymore"; xcb_send_event(con, false, req->requestor, XCB_EVENT_MASK_NO_EVENT, (char*)event); xcb_flush(con); free(event); @@ -903,7 +902,7 @@ bool XCBClip::process_selection_request(xcb_generic_event_t *e) if(req->target==atom("TIMESTAMP")) { event->property=property; -// qDebug()<<"requested TIMESTAMP"; +// Client::KDRStdErr()<<"requested TIMESTAMP"; xcb_change_property(con, XCB_PROP_MODE_REPLACE, req->requestor, property, XCB_ATOM_INTEGER, 32, 1, &inputSelection[sel].timestamp); @@ -911,7 +910,7 @@ bool XCBClip::process_selection_request(xcb_generic_event_t *e) else if(req->target==atom("TARGETS")) { event->property=property; -// qDebug()<<"requested TARGETS"; +// Client::KDRStdErr()<<"requested TARGETS"; send_mime_types(req); } else @@ -972,7 +971,7 @@ xcb_atom_t XCBClip::set_data_property(xcb_selection_request_event_t* req, QByteA //this types of application not supporting incr selection if(atom_name(req->property)=="_XT_SELECTION_0" || atom_name(req->property)=="_QT_SELECTION") { -// qDebug()<<atom_name(req->property)<<"doesn't support INCR"; +// Client::KDRStdErr()<<atom_name(req->property)<<"doesn't support INCR"; support_incr=false; } @@ -989,7 +988,7 @@ xcb_atom_t XCBClip::set_data_property(xcb_selection_request_event_t* req, QByteA xcb_flush(con); return req->property; } - qDebug()<<"data is too big"; + Client::KDRStdErr()<<"data is too big"; return XCB_NONE; } @@ -1004,7 +1003,7 @@ xcb_atom_t XCBClip::set_data_property(xcb_selection_request_event_t* req, QByteA //sending INCR atom to let requester know that we are starting data incrementally uint bytes=data->size(); - qDebug()<<"starting INCR send of size"<<data->size()<<" for win ID "<<req->requestor; + Client::KDRStdErr()<<"starting INCR send of size "<<data->size()<<" for win ID "<<req->requestor; xcb_change_property(con, XCB_PROP_MODE_REPLACE, req->requestor, req->property, atom("INCR"), 32, 1, (const void *)&bytes); startIncrTransaction(req->requestor, req->property, req->target, *data ); @@ -1026,7 +1025,7 @@ void XCBClip::startIncrTransaction(xcb_window_t requestor, xcb_atom_t property, tr->sentBytes=0; tr->timestamp=QDateTime::currentMSecsSinceEpoch(); incrTransactions<<tr; - qDebug()<<"INCR start"<<tr->timestamp; + Client::KDRStdErr()<<"INCR start "<<tr->timestamp; const quint32 mask[] = { XCB_EVENT_MASK_PROPERTY_CHANGE }; //we'll recive property change events for requestor window from now xcb_change_window_attributes(con, requestor, @@ -1043,12 +1042,12 @@ bool XCBClip::check_req_sanity(xcb_selection_request_event_t* req) //if it's one of supported text formats send without convertion if(is_string_atom(req->target)) { - // qDebug()<<"sending UTF text"; + // Client::KDRStdErr()<<"sending UTF text"; return true; } else { - qDebug()<<"unsupported property requested:"<<atom_name(req->target); + Client::KDRStdErr()<<"unsupported property requested: "<<atom_name(req->target); return false; } } @@ -1056,10 +1055,10 @@ bool XCBClip::check_req_sanity(xcb_selection_request_event_t* req) { if(!is_image_atom(req->target)) { - qDebug()<<"unsupported property requested:"<<atom_name(req->target); + Client::KDRStdErr()<<"unsupported property requested: "<<atom_name(req->target); return false; } - // qDebug()<<"sending "<<atom_name(req->target); + // Client::KDRStdErr()<<"sending "<<atom_name(req->target); return true; } } @@ -1076,14 +1075,14 @@ xcb_atom_t XCBClip::send_data(xcb_selection_request_event_t* req) } else { -// qDebug()<<"sending "<<atom_name(req->target); +// Client::KDRStdErr()<<"sending "<<atom_name(req->target); //convert to desireable format QImage img=QImage::fromData(inputSelection[sel].selData); QByteArray ba; QBuffer buffer(&ba); buffer.open(QIODevice::WriteOnly); img.save(&buffer, mime_to_QT_img(atom_name(req->target)).toLatin1()); -// qDebug()<<"converted to"<<mime_to_QT_img(atom_name(req->target))<<ba.size(); +// Client::KDRStdErr()<<"converted to"<<mime_to_QT_img(atom_name(req->target))<<ba.size(); return set_data_property(req, &ba); } } -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2gokdriveclient.git _______________________________________________ x2go-commits mailing list x2go-commits@lists.x2go.org https://lists.x2go.org/listinfo/x2go-commits