From 8fea824d0c71b08258789c38278d6395e1770b51a65241aefde5adbefdbde11f Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux Date: Mon, 31 Aug 2020 18:52:16 +0000 Subject: [PATCH 1/2] Accepting request 830877 from home:StefanBruens:branches:openSUSE:Factory - Fix wrong framebuffer size when display scale is not 1.0 * Add 0001-Declare-and-use-logging-categories.patch * Add 0003-Compensate-for-global-scale-factor-when-using-xcb-fb.patch - Cleanup build dependencies (remove KF5Completion and telepathy): * Add 0001-Replace-KLineEdit-with-QLineEdit.patch OBS-URL: https://build.opensuse.org/request/show/830877 OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/krfb?expand=0&rev=135 --- 0001-Declare-and-use-logging-categories.patch | 488 ++++++++++++++++++ 0001-Replace-KLineEdit-with-QLineEdit.patch | 84 +++ ...lobal-scale-factor-when-using-xcb-fb.patch | 40 ++ krfb.changes | 9 + krfb.spec | 14 +- 5 files changed, 632 insertions(+), 3 deletions(-) create mode 100644 0001-Declare-and-use-logging-categories.patch create mode 100644 0001-Replace-KLineEdit-with-QLineEdit.patch create mode 100644 0003-Compensate-for-global-scale-factor-when-using-xcb-fb.patch diff --git a/0001-Declare-and-use-logging-categories.patch b/0001-Declare-and-use-logging-categories.patch new file mode 100644 index 0000000..82d329a --- /dev/null +++ b/0001-Declare-and-use-logging-categories.patch @@ -0,0 +1,488 @@ +From 7299923943687a9e9e411c6b0a8d74e04d5a9b04 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Tue, 11 Aug 2020 19:50:46 +0200 +Subject: [PATCH 1/3] Declare and use logging categories + +Adds the following logging categories: +- kf.rfb +- kf.rfb.framebuffer.qt +- kf.rfb.framebuffer.xcb +--- + CMakeLists.txt | 7 +++++ + framebuffers/qt/CMakeLists.txt | 8 ++++++ + framebuffers/xcb/CMakeLists.txt | 8 ++++++ + framebuffers/xcb/xcb_framebuffer.cpp | 40 +++++++++++++++------------- + krfb/CMakeLists.txt | 8 ++++++ + krfb/eventsmanager.cpp | 12 ++++----- + krfb/framebuffermanager.cpp | 14 +++++----- + krfb/invitationsrfbclient.cpp | 6 ++--- + krfb/invitationsrfbserver.cpp | 4 +-- + krfb/main.cpp | 8 +++--- + krfb/rfbclient.cpp | 1 - + krfb/rfbserver.cpp | 8 +++--- + krfb/rfbservermanager.cpp | 1 - + 13 files changed, 78 insertions(+), 47 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aadd4b7..aa2b7b7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -20,6 +20,7 @@ include(KDECompilerSettings NO_POLICY_SCOPE) + include(ECMInstallIcons) + include(ECMAddAppIcon) + include(ECMSetupVersion) ++include(ECMQtDeclareLoggingCategory) + include(FeatureSummary) + include(CheckIncludeFile) + +@@ -104,6 +105,12 @@ add_subdirectory(framebuffers) + add_subdirectory(doc) + add_subdirectory(icons) + ++ecm_qt_install_logging_categories( ++ EXPORT KRFB ++ FILE krfb.categories ++ DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} ++) ++ + feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) + ki18n_install(po) + if (KF5DocTools_FOUND) +diff --git a/framebuffers/qt/CMakeLists.txt b/framebuffers/qt/CMakeLists.txt +index 2629098..9019aad 100644 +--- a/framebuffers/qt/CMakeLists.txt ++++ b/framebuffers/qt/CMakeLists.txt +@@ -7,6 +7,14 @@ set (krfb_framebuffer_qt_SRCS + qtframebufferplugin.cpp + ) + ++ecm_qt_declare_logging_category(krfb_framebuffer_qt_SRCS ++ HEADER krfb_fb_qt_debug.h ++ IDENTIFIER KRFB_FB_QT ++ CATEGORY_NAME kf.rfb.framebuffer.qt ++ DESCRIPTION "KRFB Qt frambuffer plugin" ++ EXPORT KRFB ++) ++ + add_library(krfb_framebuffer_qt + MODULE + ${krfb_framebuffer_qt_SRCS} +diff --git a/framebuffers/xcb/CMakeLists.txt b/framebuffers/xcb/CMakeLists.txt +index 1f6979c..9779427 100644 +--- a/framebuffers/xcb/CMakeLists.txt ++++ b/framebuffers/xcb/CMakeLists.txt +@@ -7,6 +7,14 @@ set (krfb_framebuffer_xcb_SRCS + xcb_framebuffer.cpp + ) + ++ecm_qt_declare_logging_category(krfb_framebuffer_xcb_SRCS ++ HEADER krfb_fb_xcb_debug.h ++ IDENTIFIER KRFB_FB_XCB ++ CATEGORY_NAME kf.rfb.framebuffer.xcb ++ DESCRIPTION "KRFB XCB frambuffer plugin" ++ EXPORT KRFB ++) ++ + add_library(krfb_framebuffer_xcb MODULE ${krfb_framebuffer_xcb_SRCS}) + + target_link_libraries (krfb_framebuffer_xcb +diff --git a/framebuffers/xcb/xcb_framebuffer.cpp b/framebuffers/xcb/xcb_framebuffer.cpp +index 60e114e..07569bf 100644 +--- a/framebuffers/xcb/xcb_framebuffer.cpp ++++ b/framebuffers/xcb/xcb_framebuffer.cpp +@@ -8,6 +8,7 @@ + */ + + #include "xcb_framebuffer.h" ++#include "krfb_fb_xcb_debug.h" + + #include + #include +@@ -23,7 +24,6 @@ + #include + #include + #include +-#include + + + class KrfbXCBEventFilter: public QAbstractNativeEventFilter +@@ -68,7 +68,7 @@ KrfbXCBEventFilter::KrfbXCBEventFilter(XCBFrameBuffer *owner): + } + + #ifdef _DEBUG +- qDebug() << "xcb framebuffer: XDamage extension version:" << ++ qCDebug(KRFB_FB_XCB) << "xcb framebuffer: XDamage extension version:" << + xdamage_version->major_version << "." << xdamage_version->minor_version; + #endif + +@@ -163,7 +163,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): + + QScreen *primaryScreen = QGuiApplication::primaryScreen(); + if (primaryScreen) { +- qDebug() << "xcb framebuffer: Primary screen: " << primaryScreen->name() ++ qCDebug(KRFB_FB_XCB) << "xcb framebuffer: Primary screen: " << primaryScreen->name() + << ", geometry: " << primaryScreen->geometry() + << ", depth: " << primaryScreen->depth(); + // +@@ -183,7 +183,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): + XCB_IMAGE_FORMAT_Z_PIXMAP); + if (d->framebufferImage) { + #ifdef _DEBUG +- qDebug() << "xcb framebuffer: Got primary screen image. bpp: " << d->framebufferImage->bpp ++ qCDebug(KRFB_FB_XCB) << "xcb framebuffer: Got primary screen image. bpp: " << d->framebufferImage->bpp + << ", size (" << d->framebufferImage->width << d->framebufferImage->height << ")" + << ", depth: " << d->framebufferImage->depth + << ", padded width: " << d->framebufferImage->stride; +@@ -211,15 +211,15 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): + nullptr); // data = 0 + if (d->updateTile) { + #ifdef _DEBUG +- qDebug() << "xcb framebuffer: Successfully created new empty image in native format"; +- qDebug() << " size: " << d->updateTile->width << "x" << d->updateTile->height +- << "(stride: " << d->updateTile->stride << ")"; +- qDebug() << " bpp, depth: " << d->updateTile->bpp << d->updateTile->depth; // 32, 24 +- qDebug() << " addr of base, data: " << d->updateTile->base << (void *)d->updateTile->data; +- qDebug() << " size: " << d->updateTile->size; +- qDebug() << " image byte order = " << d->updateTile->byte_order; // == 0 .._LSB_FIRST +- qDebug() << " image bit order = " << d->updateTile->bit_order; // == 1 .._MSB_FIRST +- qDebug() << " image plane_mask = " << d->updateTile->plane_mask; // == 16777215 == 0x00FFFFFF ++ qCDebug(KRFB_FB_XCB) << "xcb framebuffer: Successfully created new empty image in native format" ++ << "\n size: " << d->updateTile->width << "x" << d->updateTile->height ++ << "(stride: " << d->updateTile->stride << ")" ++ << "\n bpp, depth: " << d->updateTile->bpp << d->updateTile->depth // 32, 24 ++ << "\n addr of base, data: " << d->updateTile->base << (void *)d->updateTile->data ++ << "\n size: " << d->updateTile->size ++ << "\n image byte order = " << d->updateTile->byte_order // == 0 .._LSB_FIRST ++ << "\n image bit order = " << d->updateTile->bit_order // == 1 .._MSB_FIRST ++ << "\n image plane_mask = " << d->updateTile->plane_mask; // == 16777215 == 0x00FFFFFF + #endif + + // allocate shared memory block only once, make its size large enough +@@ -237,7 +237,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): + xcb_shm_attach(QX11Info::connection(), d->shminfo.shmseg, d->shminfo.shmid, 0); + + #ifdef _DEBUG +- qDebug() << " shm id: " << d->shminfo.shmseg << ", addr: " << (void *)d->shminfo.shmaddr; ++ qCDebug(KRFB_FB_XCB) << " shm id: " << d->shminfo.shmseg << ", addr: " << (void *)d->shminfo.shmaddr; + #endif + + // will return 1 on success (yes!) +@@ -273,7 +273,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): + } + + #ifdef _DEBUG +- qDebug() << "xcb framebuffer: XCBFrameBuffer(), xshm base event = " << d->x11EvtFilter->xshmBaseEvent ++ qCDebug(KRFB_FB_XCB) << "xcb framebuffer: XCBFrameBuffer(), xshm base event = " << d->x11EvtFilter->xshmBaseEvent + << ", xshm base error = " << d->x11EvtFilter->xdamageBaseError + << ", xdamage base event = " << d->x11EvtFilter->xdamageBaseEvent + << ", xdamage base error = " << d->x11EvtFilter->xdamageBaseError; +@@ -420,10 +420,12 @@ void XCBFrameBuffer::getServerFormat(rfbPixelFormat &format) { + format.blueMax = root_visualtype->blue_mask >> format.blueShift; + + #ifdef _DEBUG +- qDebug() << " Calculated redShift =" << (int)format.redShift; +- qDebug() << " Calculated greenShift =" << (int)format.greenShift; +- qDebug() << " Calculated blueShift =" << (int)format.blueShift; +- qDebug( " Calculated max values: R%d G%d B%d", ++ qCDebug(KRFB_FB_XCB, ++ " Calculated redShift = %d\n" ++ " Calculated greenShift = %d\n" ++ " Calculated blueShift = %d\n" ++ " Calculated max values: R%d G%d B%d", ++ format.redShift, format.greenShift, format.blueShift + format.redMax, format.greenMax, format.blueMax); + #endif + } else { +diff --git a/krfb/CMakeLists.txt b/krfb/CMakeLists.txt +index a292226..08066f6 100644 +--- a/krfb/CMakeLists.txt ++++ b/krfb/CMakeLists.txt +@@ -66,6 +66,14 @@ set (krfb_SRCS + invitationsrfbclient.cpp + ) + ++ecm_qt_declare_logging_category(krfb_SRCS ++ HEADER krfbdebug.h ++ IDENTIFIER KRFB ++ CATEGORY_NAME kf.rfb ++ DESCRIPTION "KRFB Application" ++ EXPORT KRFB ++) ++ + kconfig_add_kcfg_files (krfb_SRCS + krfbconfig.kcfgc + ) +diff --git a/krfb/eventsmanager.cpp b/krfb/eventsmanager.cpp +index 716d1fc..7289ced 100644 +--- a/krfb/eventsmanager.cpp ++++ b/krfb/eventsmanager.cpp +@@ -23,8 +23,8 @@ + #include "eventsplugin.h" + #include "krfbconfig.h" + #include "rfbservermanager.h" ++#include "krfbdebug.h" + +-#include + #include + + #include +@@ -79,18 +79,18 @@ void EventsManager::loadPlugins() + KPluginFactory *factory = KPluginLoader(data.fileName()).factory(); + + if (!factory) { +- qDebug() << "KPluginFactory could not load the plugin:" << data.fileName(); ++ qCDebug(KRFB) << "KPluginFactory could not load the plugin:" << data.fileName(); + continue; + } else { +- qDebug() << "found plugin at " << data.fileName(); ++ qCDebug(KRFB) << "found plugin at " << data.fileName(); + } + + EventsPlugin *plugin = factory->create(this); + if (plugin) { + m_plugins.insert(data.pluginId(), plugin); +- qDebug() << "Loaded plugin with name " << data.pluginId(); ++ qCDebug(KRFB) << "Loaded plugin with name " << data.pluginId(); + } else { +- qDebug() << "unable to load plugin for " << data.fileName(); ++ qCDebug(KRFB) << "unable to load plugin for " << data.fileName(); + } + unique.insert (data.name()); + } +@@ -113,6 +113,6 @@ QSharedPointer EventsManager::eventHandler() + } + + // No valid events plugin found. +- qDebug() << "No valid event handlers found. returning null."; ++ qCDebug(KRFB) << "No valid event handlers found. returning null."; + return QSharedPointer(); + } +diff --git a/krfb/framebuffermanager.cpp b/krfb/framebuffermanager.cpp +index 68b3093..a62117e 100644 +--- a/krfb/framebuffermanager.cpp ++++ b/krfb/framebuffermanager.cpp +@@ -22,8 +22,8 @@ + + #include "framebufferplugin.h" + #include "krfbconfig.h" ++#include "krfbdebug.h" + +-#include + #include + + #include +@@ -78,18 +78,18 @@ void FrameBufferManager::loadPlugins() + KPluginFactory *factory = KPluginLoader(data.fileName()).factory(); + + if (!factory) { +- qDebug() << "KPluginFactory could not load the plugin:" << data.fileName(); ++ qDebug(KRFB) << "KPluginFactory could not load the plugin:" << data.fileName(); + continue; + } else { +- qDebug() << "found plugin at " << data.fileName(); ++ qDebug(KRFB) << "found plugin at " << data.fileName(); + } + + FrameBufferPlugin *plugin = factory->create(this); + if (plugin) { + m_plugins.insert(data.pluginId(), plugin); +- qDebug() << "Loaded plugin with name " << data.pluginId(); ++ qDebug(KRFB) << "Loaded plugin with name " << data.pluginId(); + } else { +- qDebug() << "unable to load pluign for " << data.fileName(); ++ qDebug(KRFB) << "unable to load pluign for " << data.fileName(); + } + unique.insert (data.name()); + } +@@ -118,7 +118,7 @@ QSharedPointer FrameBufferManager::frameBuffer(WId id) + while (iter != m_plugins.constEnd()) { + + if (iter.key() == KrfbConfig::preferredFrameBufferPlugin()) { +- qDebug() << "Using FrameBuffer:" << KrfbConfig::preferredFrameBufferPlugin(); ++ qDebug(KRFB) << "Using FrameBuffer:" << KrfbConfig::preferredFrameBufferPlugin(); + + QSharedPointer frameBuffer(iter.value()->frameBuffer(id)); + +@@ -133,6 +133,6 @@ QSharedPointer FrameBufferManager::frameBuffer(WId id) + } + + // No valid framebuffer plugin found. +- qDebug() << "No valid framebuffer found. returning null."; ++ qDebug(KRFB) << "No valid framebuffer found. returning null."; + return QSharedPointer(); + } +diff --git a/krfb/invitationsrfbclient.cpp b/krfb/invitationsrfbclient.cpp +index f52cdc9..a0f7244 100644 +--- a/krfb/invitationsrfbclient.cpp ++++ b/krfb/invitationsrfbclient.cpp +@@ -24,11 +24,11 @@ + #include "krfbconfig.h" + #include "sockethelpers.h" + #include "connectiondialog.h" ++#include "krfbdebug.h" + + #include + #include + +-#include + #include + #include + #include +@@ -115,7 +115,7 @@ void PendingInvitationsRfbClient::onSocketActivated() + //the clientGoneHook which in turn will remove this RfbClient instance + //from the server manager and will call deleteLater() to delete it + if (d->client->sock == -1) { +- qDebug() << "disconnected from socket signal"; ++ qCDebug(KRFB) << "disconnected from socket signal"; + d->notifier->setEnabled(false); + rfbClientConnectionGone(d->client); + break; +@@ -125,7 +125,7 @@ void PendingInvitationsRfbClient::onSocketActivated() + + bool PendingInvitationsRfbClient::checkPassword(const QByteArray & encryptedPassword) + { +- qDebug() << "about to start authentication"; ++ qCDebug(KRFB) << "about to start authentication"; + + if(InvitationsRfbServer::instance->allowUnattendedAccess() && vncAuthCheckPassword( + InvitationsRfbServer::instance->unattendedPassword().toLocal8Bit(), +diff --git a/krfb/invitationsrfbserver.cpp b/krfb/invitationsrfbserver.cpp +index bdbd9cb..69b458c 100644 +--- a/krfb/invitationsrfbserver.cpp ++++ b/krfb/invitationsrfbserver.cpp +@@ -22,10 +22,10 @@ + #include "invitationsrfbclient.h" + #include "krfbconfig.h" + #include "rfbservermanager.h" ++#include "krfbdebug.h" + #include + #include + #include +-#include + #include + + #include +@@ -188,7 +188,7 @@ void InvitationsRfbServer::walletOpened(bool opened) + + } else { + +- qDebug() << "Could not open KWallet, Falling back to config file"; ++ qCDebug(KRFB) << "Could not open KWallet, Falling back to config file"; + KConfigGroup krfbConfig(KSharedConfig::openConfig(),"Security"); + + desktopPassword = KStringHandler::obscure(krfbConfig.readEntry( +diff --git a/krfb/main.cpp b/krfb/main.cpp +index fd778a7..15b8ec3 100644 +--- a/krfb/main.cpp ++++ b/krfb/main.cpp +@@ -20,6 +20,7 @@ + #include "invitationsrfbserver.h" + #include "krfbconfig.h" + #include "krfb_version.h" ++#include "krfbdebug.h" + + #include + #include +@@ -27,7 +28,6 @@ + #include + #include + +-#include + #include + #include + #include +@@ -59,13 +59,13 @@ static bool checkX11Capabilities() + + static void checkOldX11PluginConfig() { + if (KrfbConfig::preferredFrameBufferPlugin() == QStringLiteral("x11")) { +- qDebug() << "Detected deprecated configuration: preferredFrameBufferPlugin = x11"; ++ qCDebug(KRFB) << "Detected deprecated configuration: preferredFrameBufferPlugin = x11"; + KConfigSkeletonItem *config_item = KrfbConfig::self()->findItem( + QStringLiteral("preferredFrameBufferPlugin")); + if (config_item) { + config_item->setProperty(QStringLiteral("xcb")); + KrfbConfig::self()->save(); +- qDebug() << " Fixed preferredFrameBufferPlugin from x11 to xcb."; ++ qCDebug(KRFB) << " Fixed preferredFrameBufferPlugin from x11 to xcb."; + } + } + } +@@ -81,7 +81,7 @@ static void checkWaylandPluginConfig() + if (config_item) { + config_item->setProperty(QStringLiteral("pw")); + KrfbConfig::self()->save(); +- qDebug() << "Wayland: Fixed preferredFrameBufferPlugin to \"pw\"."; ++ qCDebug(KRFB) << "Wayland: Fixed preferredFrameBufferPlugin to \"pw\"."; + } + } + } +diff --git a/krfb/rfbclient.cpp b/krfb/rfbclient.cpp +index ff404ec..95d9998 100644 +--- a/krfb/rfbclient.cpp ++++ b/krfb/rfbclient.cpp +@@ -23,7 +23,6 @@ + #include "sockethelpers.h" + #include "eventsmanager.h" + #include +-#include + #include + #include //for bzero() + +diff --git a/krfb/rfbserver.cpp b/krfb/rfbserver.cpp +index 82a10a0..fef04d6 100644 +--- a/krfb/rfbserver.cpp ++++ b/krfb/rfbserver.cpp +@@ -19,11 +19,11 @@ + */ + #include "rfbserver.h" + #include "rfbservermanager.h" ++#include "krfbdebug.h" + #include + #include + #include + #include +-#include + #include + + struct RfbServer::Private +@@ -92,7 +92,7 @@ bool RfbServer::start() + if (!d->screen) { + d->screen = RfbServerManager::instance()->newScreen(); + if (!d->screen) { +- qDebug() << "Unable to get rbfserver screen"; ++ qCDebug(KRFB) << "Unable to get rbfserver screen"; + return false; + } + +@@ -125,14 +125,14 @@ bool RfbServer::start() + d->screen->authPasswdData = (void *)nullptr; + } + +- qDebug() << "Starting server. Listen port:" << listeningPort() ++ qCDebug(KRFB) << "Starting server. Listen port:" << listeningPort() + << "Listen Address:" << listeningAddress() + << "Password enabled:" << passwordRequired(); + + rfbInitServer(d->screen); + + if (!rfbIsActive(d->screen)) { +- qDebug() << "Failed to start server"; ++ qCDebug(KRFB) << "Failed to start server"; + rfbShutdownServer(d->screen, false); + return false; + }; +diff --git a/krfb/rfbservermanager.cpp b/krfb/rfbservermanager.cpp +index e7262c4..2385f1b 100644 +--- a/krfb/rfbservermanager.cpp ++++ b/krfb/rfbservermanager.cpp +@@ -29,7 +29,6 @@ + #include + #include + #include +-#include + + #include + #include +-- +2.28.0 + diff --git a/0001-Replace-KLineEdit-with-QLineEdit.patch b/0001-Replace-KLineEdit-with-QLineEdit.patch new file mode 100644 index 0000000..d0d44f6 --- /dev/null +++ b/0001-Replace-KLineEdit-with-QLineEdit.patch @@ -0,0 +1,84 @@ +From 58eab99e6b5fbcd7c9bb4f9a5f0bd5feb0b3edf3 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Wed, 12 Aug 2020 18:27:23 +0200 +Subject: [PATCH] Replace KLineEdit with QLineEdit + +The password field uses none of the KLineEdit features like completion, +so QLineEdit suffices. +--- + CMakeLists.txt | 1 - + krfb/CMakeLists.txt | 1 - + krfb/mainwindow.cpp | 3 +-- + krfb/mainwindow.h | 4 ++-- + 4 files changed, 3 insertions(+), 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index aadd4b7..bd9ed41 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -29,7 +29,6 @@ find_package(Qt5 ${QT_MIN_VERSION} REQUIRED COMPONENTS Core DBus Widgets X11Extr + + find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS + I18n +- Completion + Config + CoreAddons + Crash +diff --git a/krfb/CMakeLists.txt b/krfb/CMakeLists.txt +index a292226..43752b5 100644 +--- a/krfb/CMakeLists.txt ++++ b/krfb/CMakeLists.txt +@@ -93,7 +93,6 @@ target_link_libraries (krfb + ${X11_X11_LIB} + ${X11_Xdamage_LIB} + Qt5::Network +- KF5::Completion + KF5::CoreAddons + KF5::DBusAddons + KF5::DNSSD +diff --git a/krfb/mainwindow.cpp b/krfb/mainwindow.cpp +index 555d301..14924f6 100644 +--- a/krfb/mainwindow.cpp ++++ b/krfb/mainwindow.cpp +@@ -21,7 +21,6 @@ + #include + #include + #include +-#include + #include + #include + #include +@@ -107,7 +106,7 @@ MainWindow::MainWindow(QWidget *parent) + setAttribute(Qt::WA_DeleteOnClose, false); + + m_passwordEditable = false; +- m_passwordLineEdit = new KLineEdit(this); ++ m_passwordLineEdit = new QLineEdit(this); + m_passwordLineEdit->setVisible(false); + m_passwordLineEdit->setAlignment(Qt::AlignHCenter); + +diff --git a/krfb/mainwindow.h b/krfb/mainwindow.h +index 9f2939e..bbe69cd 100644 +--- a/krfb/mainwindow.h ++++ b/krfb/mainwindow.h +@@ -15,7 +15,7 @@ + + #include + +-class KLineEdit; ++class QLineEdit; + + class MainWindow : public KXmlGuiWindow + { +@@ -43,7 +43,7 @@ class MainWindow : public KXmlGuiWindow + private: + Ui::MainWidget m_ui; + bool m_passwordEditable; +- KLineEdit *m_passwordLineEdit; ++ QLineEdit *m_passwordLineEdit; + }; + + #endif +-- +2.28.0 + diff --git a/0003-Compensate-for-global-scale-factor-when-using-xcb-fb.patch b/0003-Compensate-for-global-scale-factor-when-using-xcb-fb.patch new file mode 100644 index 0000000..485e2ba --- /dev/null +++ b/0003-Compensate-for-global-scale-factor-when-using-xcb-fb.patch @@ -0,0 +1,40 @@ +From a5656776a21f8b6f893431f9e18327a24ad1fa9c Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Stefan=20Br=C3=BCns?= +Date: Thu, 13 Aug 2020 09:30:06 +0200 +Subject: [PATCH 3/3] Compensate for global scale factor when using xcb fb + plugin + +The screen geometry is reported in device independent pixels, so it has +to be multiplied by the devicePixelRatio to get the size of the underlying +framebuffer. Otherwise, only the top left of the screen will be captured. + +This matches the behavior of QScreen::grabWindow(...), which also +returns a QPixmap of the given size scaled by devicePixelRatio. +--- + framebuffers/xcb/xcb_framebuffer.cpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/framebuffers/xcb/xcb_framebuffer.cpp b/framebuffers/xcb/xcb_framebuffer.cpp +index 07569bf..626b3ad 100644 +--- a/framebuffers/xcb/xcb_framebuffer.cpp ++++ b/framebuffers/xcb/xcb_framebuffer.cpp +@@ -163,11 +163,15 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): + + QScreen *primaryScreen = QGuiApplication::primaryScreen(); + if (primaryScreen) { ++ qreal scaleFactor = primaryScreen->devicePixelRatio(); ++ d->area = { primaryScreen->geometry().topLeft() * scaleFactor, ++ primaryScreen->geometry().bottomRight() * scaleFactor }; + qCDebug(KRFB_FB_XCB) << "xcb framebuffer: Primary screen: " << primaryScreen->name() + << ", geometry: " << primaryScreen->geometry() ++ << ", device scaling: " << scaleFactor ++ << ", native size: " << d->area + << ", depth: " << primaryScreen->depth(); + // +- d->area = primaryScreen->geometry(); + } else { + qWarning() << "xcb framebuffer: ERROR: Failed to get application's primary screen info!"; + return; +-- +2.28.0 + diff --git a/krfb.changes b/krfb.changes index 674f297..c5c9bf5 100644 --- a/krfb.changes +++ b/krfb.changes @@ -1,3 +1,12 @@ +------------------------------------------------------------------- +Mon Aug 31 15:57:48 UTC 2020 - Stefan Brüns + +- Fix wrong framebuffer size when display scale is not 1.0 + * Add 0001-Declare-and-use-logging-categories.patch + * Add 0003-Compensate-for-global-scale-factor-when-using-xcb-fb.patch +- Cleanup build dependencies (remove KF5Completion and telepathy): + * Add 0001-Replace-KLineEdit-with-QLineEdit.patch + ------------------------------------------------------------------- Sun Aug 9 09:09:57 UTC 2020 - Christophe Giboudeaux diff --git a/krfb.spec b/krfb.spec index 17ce988..ed72647 100644 --- a/krfb.spec +++ b/krfb.spec @@ -27,14 +27,18 @@ Summary: Screen sharing using the VNC/RFB protocol License: GPL-2.0-or-later Group: Productivity/Networking/Other Source: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz +# PATCH-FIX-UPSTREAM +Patch0: 0001-Declare-and-use-logging-categories.patch +# PATCH-FIX-UPSTREAM +Patch1: 0001-Replace-KLineEdit-with-QLineEdit.patch +# PATCH-FIX-UPSTREAM +Patch2: 0003-Compensate-for-global-scale-factor-when-using-xcb-fb.patch BuildRequires: LibVNCServer-devel BuildRequires: extra-cmake-modules BuildRequires: pipewire-devel BuildRequires: pkgconfig -BuildRequires: telepathy-qt5-devel BuildRequires: update-desktop-files BuildRequires: xcb-util-image-devel -BuildRequires: cmake(KF5Completion) BuildRequires: cmake(KF5Config) BuildRequires: cmake(KF5CoreAddons) BuildRequires: cmake(KF5Crash) @@ -68,12 +72,15 @@ VNC-compatible server to share KDE desktops. %prep %setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 %build %ifarch ppc ppc64 export RPM_OPT_FLAGS="%{optflags} -mminimal-toc" %endif - %cmake_kf5 -d build -- -DBUILD_EXPERIMENTAL_TUBES_SUPPORT="on" + %cmake_kf5 -d build -- %cmake_build %install @@ -99,6 +106,7 @@ export RPM_OPT_FLAGS="%{optflags} -mminimal-toc" %{_kf5_servicetypesdir}/krfb-framebuffer*.desktop %{_kf5_servicetypesdir}/krfb-events.desktop %{_kf5_sharedir}/krfb/ +%{_kf5_debugdir}/krfb.categories %if %{with lang} %files lang -f %{name}.lang From 2ea0708c0e0f35a6a2d3218ae67e898de3eecbca2095be13d7a48aece9042809 Mon Sep 17 00:00:00 2001 From: Christophe Giboudeaux Date: Wed, 2 Sep 2020 06:58:02 +0000 Subject: [PATCH 2/2] KDE Applications 20.08.1 - release on Thursday OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/krfb?expand=0&rev=136 --- 0001-Declare-and-use-logging-categories.patch | 159 +++++++++--------- krfb-20.08.0.tar.xz | 3 - krfb-20.08.0.tar.xz.sig | 11 -- krfb-20.08.1.tar.xz | 3 + krfb-20.08.1.tar.xz.sig | 11 ++ krfb.changes | 11 ++ krfb.spec | 2 +- 7 files changed, 104 insertions(+), 96 deletions(-) delete mode 100644 krfb-20.08.0.tar.xz delete mode 100644 krfb-20.08.0.tar.xz.sig create mode 100644 krfb-20.08.1.tar.xz create mode 100644 krfb-20.08.1.tar.xz.sig diff --git a/0001-Declare-and-use-logging-categories.patch b/0001-Declare-and-use-logging-categories.patch index 82d329a..26ead02 100644 --- a/0001-Declare-and-use-logging-categories.patch +++ b/0001-Declare-and-use-logging-categories.patch @@ -23,11 +23,11 @@ Adds the following logging categories: krfb/rfbservermanager.cpp | 1 - 13 files changed, 78 insertions(+), 47 deletions(-) -diff --git a/CMakeLists.txt b/CMakeLists.txt -index aadd4b7..aa2b7b7 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -20,6 +20,7 @@ include(KDECompilerSettings NO_POLICY_SCOPE) +Index: krfb-20.08.1/CMakeLists.txt +=================================================================== +--- krfb-20.08.1.orig/CMakeLists.txt 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/CMakeLists.txt 2020-09-02 07:05:40.725370922 +0200 +@@ -20,6 +20,7 @@ include(ECMInstallIcons) include(ECMAddAppIcon) include(ECMSetupVersion) @@ -35,7 +35,7 @@ index aadd4b7..aa2b7b7 100644 include(FeatureSummary) include(CheckIncludeFile) -@@ -104,6 +105,12 @@ add_subdirectory(framebuffers) +@@ -104,6 +105,12 @@ add_subdirectory(doc) add_subdirectory(icons) @@ -48,11 +48,11 @@ index aadd4b7..aa2b7b7 100644 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES) ki18n_install(po) if (KF5DocTools_FOUND) -diff --git a/framebuffers/qt/CMakeLists.txt b/framebuffers/qt/CMakeLists.txt -index 2629098..9019aad 100644 ---- a/framebuffers/qt/CMakeLists.txt -+++ b/framebuffers/qt/CMakeLists.txt -@@ -7,6 +7,14 @@ set (krfb_framebuffer_qt_SRCS +Index: krfb-20.08.1/framebuffers/qt/CMakeLists.txt +=================================================================== +--- krfb-20.08.1.orig/framebuffers/qt/CMakeLists.txt 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/framebuffers/qt/CMakeLists.txt 2020-09-02 07:05:40.725370922 +0200 +@@ -7,6 +7,14 @@ qtframebufferplugin.cpp ) @@ -67,11 +67,11 @@ index 2629098..9019aad 100644 add_library(krfb_framebuffer_qt MODULE ${krfb_framebuffer_qt_SRCS} -diff --git a/framebuffers/xcb/CMakeLists.txt b/framebuffers/xcb/CMakeLists.txt -index 1f6979c..9779427 100644 ---- a/framebuffers/xcb/CMakeLists.txt -+++ b/framebuffers/xcb/CMakeLists.txt -@@ -7,6 +7,14 @@ set (krfb_framebuffer_xcb_SRCS +Index: krfb-20.08.1/framebuffers/xcb/CMakeLists.txt +=================================================================== +--- krfb-20.08.1.orig/framebuffers/xcb/CMakeLists.txt 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/framebuffers/xcb/CMakeLists.txt 2020-09-02 07:05:40.725370922 +0200 +@@ -7,6 +7,14 @@ xcb_framebuffer.cpp ) @@ -86,10 +86,10 @@ index 1f6979c..9779427 100644 add_library(krfb_framebuffer_xcb MODULE ${krfb_framebuffer_xcb_SRCS}) target_link_libraries (krfb_framebuffer_xcb -diff --git a/framebuffers/xcb/xcb_framebuffer.cpp b/framebuffers/xcb/xcb_framebuffer.cpp -index 60e114e..07569bf 100644 ---- a/framebuffers/xcb/xcb_framebuffer.cpp -+++ b/framebuffers/xcb/xcb_framebuffer.cpp +Index: krfb-20.08.1/framebuffers/xcb/xcb_framebuffer.cpp +=================================================================== +--- krfb-20.08.1.orig/framebuffers/xcb/xcb_framebuffer.cpp 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/framebuffers/xcb/xcb_framebuffer.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -8,6 +8,7 @@ */ @@ -106,7 +106,7 @@ index 60e114e..07569bf 100644 class KrfbXCBEventFilter: public QAbstractNativeEventFilter -@@ -68,7 +68,7 @@ KrfbXCBEventFilter::KrfbXCBEventFilter(XCBFrameBuffer *owner): +@@ -68,7 +68,7 @@ } #ifdef _DEBUG @@ -115,7 +115,7 @@ index 60e114e..07569bf 100644 xdamage_version->major_version << "." << xdamage_version->minor_version; #endif -@@ -163,7 +163,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): +@@ -163,7 +163,7 @@ QScreen *primaryScreen = QGuiApplication::primaryScreen(); if (primaryScreen) { @@ -124,7 +124,7 @@ index 60e114e..07569bf 100644 << ", geometry: " << primaryScreen->geometry() << ", depth: " << primaryScreen->depth(); // -@@ -183,7 +183,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): +@@ -183,7 +183,7 @@ XCB_IMAGE_FORMAT_Z_PIXMAP); if (d->framebufferImage) { #ifdef _DEBUG @@ -133,7 +133,7 @@ index 60e114e..07569bf 100644 << ", size (" << d->framebufferImage->width << d->framebufferImage->height << ")" << ", depth: " << d->framebufferImage->depth << ", padded width: " << d->framebufferImage->stride; -@@ -211,15 +211,15 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): +@@ -211,15 +211,15 @@ nullptr); // data = 0 if (d->updateTile) { #ifdef _DEBUG @@ -158,7 +158,7 @@ index 60e114e..07569bf 100644 #endif // allocate shared memory block only once, make its size large enough -@@ -237,7 +237,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): +@@ -237,7 +237,7 @@ xcb_shm_attach(QX11Info::connection(), d->shminfo.shmseg, d->shminfo.shmid, 0); #ifdef _DEBUG @@ -167,7 +167,7 @@ index 60e114e..07569bf 100644 #endif // will return 1 on success (yes!) -@@ -273,7 +273,7 @@ XCBFrameBuffer::XCBFrameBuffer(WId winid, QObject *parent): +@@ -273,7 +273,7 @@ } #ifdef _DEBUG @@ -176,7 +176,7 @@ index 60e114e..07569bf 100644 << ", xshm base error = " << d->x11EvtFilter->xdamageBaseError << ", xdamage base event = " << d->x11EvtFilter->xdamageBaseEvent << ", xdamage base error = " << d->x11EvtFilter->xdamageBaseError; -@@ -420,10 +420,12 @@ void XCBFrameBuffer::getServerFormat(rfbPixelFormat &format) { +@@ -420,10 +420,12 @@ format.blueMax = root_visualtype->blue_mask >> format.blueShift; #ifdef _DEBUG @@ -193,11 +193,11 @@ index 60e114e..07569bf 100644 format.redMax, format.greenMax, format.blueMax); #endif } else { -diff --git a/krfb/CMakeLists.txt b/krfb/CMakeLists.txt -index a292226..08066f6 100644 ---- a/krfb/CMakeLists.txt -+++ b/krfb/CMakeLists.txt -@@ -66,6 +66,14 @@ set (krfb_SRCS +Index: krfb-20.08.1/krfb/CMakeLists.txt +=================================================================== +--- krfb-20.08.1.orig/krfb/CMakeLists.txt 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/krfb/CMakeLists.txt 2020-09-02 07:05:40.725370922 +0200 +@@ -66,6 +66,14 @@ invitationsrfbclient.cpp ) @@ -212,10 +212,10 @@ index a292226..08066f6 100644 kconfig_add_kcfg_files (krfb_SRCS krfbconfig.kcfgc ) -diff --git a/krfb/eventsmanager.cpp b/krfb/eventsmanager.cpp -index 716d1fc..7289ced 100644 ---- a/krfb/eventsmanager.cpp -+++ b/krfb/eventsmanager.cpp +Index: krfb-20.08.1/krfb/eventsmanager.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/eventsmanager.cpp 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/krfb/eventsmanager.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -23,8 +23,8 @@ #include "eventsplugin.h" #include "krfbconfig.h" @@ -226,7 +226,7 @@ index 716d1fc..7289ced 100644 #include #include -@@ -79,18 +79,18 @@ void EventsManager::loadPlugins() +@@ -79,18 +79,18 @@ KPluginFactory *factory = KPluginLoader(data.fileName()).factory(); if (!factory) { @@ -249,7 +249,7 @@ index 716d1fc..7289ced 100644 } unique.insert (data.name()); } -@@ -113,6 +113,6 @@ QSharedPointer EventsManager::eventHandler() +@@ -113,6 +113,6 @@ } // No valid events plugin found. @@ -257,10 +257,10 @@ index 716d1fc..7289ced 100644 + qCDebug(KRFB) << "No valid event handlers found. returning null."; return QSharedPointer(); } -diff --git a/krfb/framebuffermanager.cpp b/krfb/framebuffermanager.cpp -index 68b3093..a62117e 100644 ---- a/krfb/framebuffermanager.cpp -+++ b/krfb/framebuffermanager.cpp +Index: krfb-20.08.1/krfb/framebuffermanager.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/framebuffermanager.cpp 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/krfb/framebuffermanager.cpp 2020-09-02 07:06:44.709582831 +0200 @@ -22,8 +22,8 @@ #include "framebufferplugin.h" @@ -271,7 +271,7 @@ index 68b3093..a62117e 100644 #include #include -@@ -78,18 +78,18 @@ void FrameBufferManager::loadPlugins() +@@ -78,18 +78,18 @@ KPluginFactory *factory = KPluginLoader(data.fileName()).factory(); if (!factory) { @@ -289,12 +289,12 @@ index 68b3093..a62117e 100644 - qDebug() << "Loaded plugin with name " << data.pluginId(); + qDebug(KRFB) << "Loaded plugin with name " << data.pluginId(); } else { -- qDebug() << "unable to load pluign for " << data.fileName(); -+ qDebug(KRFB) << "unable to load pluign for " << data.fileName(); +- qDebug() << "unable to load plugin for " << data.fileName(); ++ qDebug(KRFB) << "unable to load plugin for " << data.fileName(); } unique.insert (data.name()); } -@@ -118,7 +118,7 @@ QSharedPointer FrameBufferManager::frameBuffer(WId id) +@@ -118,7 +118,7 @@ while (iter != m_plugins.constEnd()) { if (iter.key() == KrfbConfig::preferredFrameBufferPlugin()) { @@ -303,7 +303,7 @@ index 68b3093..a62117e 100644 QSharedPointer frameBuffer(iter.value()->frameBuffer(id)); -@@ -133,6 +133,6 @@ QSharedPointer FrameBufferManager::frameBuffer(WId id) +@@ -133,6 +133,6 @@ } // No valid framebuffer plugin found. @@ -311,10 +311,10 @@ index 68b3093..a62117e 100644 + qDebug(KRFB) << "No valid framebuffer found. returning null."; return QSharedPointer(); } -diff --git a/krfb/invitationsrfbclient.cpp b/krfb/invitationsrfbclient.cpp -index f52cdc9..a0f7244 100644 ---- a/krfb/invitationsrfbclient.cpp -+++ b/krfb/invitationsrfbclient.cpp +Index: krfb-20.08.1/krfb/invitationsrfbclient.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/invitationsrfbclient.cpp 2020-09-02 07:05:32.869344897 +0200 ++++ krfb-20.08.1/krfb/invitationsrfbclient.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -24,11 +24,11 @@ #include "krfbconfig.h" #include "sockethelpers.h" @@ -328,7 +328,7 @@ index f52cdc9..a0f7244 100644 #include #include #include -@@ -115,7 +115,7 @@ void PendingInvitationsRfbClient::onSocketActivated() +@@ -115,7 +115,7 @@ //the clientGoneHook which in turn will remove this RfbClient instance //from the server manager and will call deleteLater() to delete it if (d->client->sock == -1) { @@ -337,7 +337,7 @@ index f52cdc9..a0f7244 100644 d->notifier->setEnabled(false); rfbClientConnectionGone(d->client); break; -@@ -125,7 +125,7 @@ void PendingInvitationsRfbClient::onSocketActivated() +@@ -125,7 +125,7 @@ bool PendingInvitationsRfbClient::checkPassword(const QByteArray & encryptedPassword) { @@ -346,10 +346,10 @@ index f52cdc9..a0f7244 100644 if(InvitationsRfbServer::instance->allowUnattendedAccess() && vncAuthCheckPassword( InvitationsRfbServer::instance->unattendedPassword().toLocal8Bit(), -diff --git a/krfb/invitationsrfbserver.cpp b/krfb/invitationsrfbserver.cpp -index bdbd9cb..69b458c 100644 ---- a/krfb/invitationsrfbserver.cpp -+++ b/krfb/invitationsrfbserver.cpp +Index: krfb-20.08.1/krfb/invitationsrfbserver.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/invitationsrfbserver.cpp 2020-09-02 07:05:32.873344910 +0200 ++++ krfb-20.08.1/krfb/invitationsrfbserver.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -22,10 +22,10 @@ #include "invitationsrfbclient.h" #include "krfbconfig.h" @@ -362,7 +362,7 @@ index bdbd9cb..69b458c 100644 #include #include -@@ -188,7 +188,7 @@ void InvitationsRfbServer::walletOpened(bool opened) +@@ -188,7 +188,7 @@ } else { @@ -371,10 +371,10 @@ index bdbd9cb..69b458c 100644 KConfigGroup krfbConfig(KSharedConfig::openConfig(),"Security"); desktopPassword = KStringHandler::obscure(krfbConfig.readEntry( -diff --git a/krfb/main.cpp b/krfb/main.cpp -index fd778a7..15b8ec3 100644 ---- a/krfb/main.cpp -+++ b/krfb/main.cpp +Index: krfb-20.08.1/krfb/main.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/main.cpp 2020-09-02 07:05:32.873344910 +0200 ++++ krfb-20.08.1/krfb/main.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -20,6 +20,7 @@ #include "invitationsrfbserver.h" #include "krfbconfig.h" @@ -391,7 +391,7 @@ index fd778a7..15b8ec3 100644 #include #include #include -@@ -59,13 +59,13 @@ static bool checkX11Capabilities() +@@ -59,13 +59,13 @@ static void checkOldX11PluginConfig() { if (KrfbConfig::preferredFrameBufferPlugin() == QStringLiteral("x11")) { @@ -407,7 +407,7 @@ index fd778a7..15b8ec3 100644 } } } -@@ -81,7 +81,7 @@ static void checkWaylandPluginConfig() +@@ -81,7 +81,7 @@ if (config_item) { config_item->setProperty(QStringLiteral("pw")); KrfbConfig::self()->save(); @@ -416,10 +416,10 @@ index fd778a7..15b8ec3 100644 } } } -diff --git a/krfb/rfbclient.cpp b/krfb/rfbclient.cpp -index ff404ec..95d9998 100644 ---- a/krfb/rfbclient.cpp -+++ b/krfb/rfbclient.cpp +Index: krfb-20.08.1/krfb/rfbclient.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/rfbclient.cpp 2020-09-02 07:05:32.873344910 +0200 ++++ krfb-20.08.1/krfb/rfbclient.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -23,7 +23,6 @@ #include "sockethelpers.h" #include "eventsmanager.h" @@ -428,10 +428,10 @@ index ff404ec..95d9998 100644 #include #include //for bzero() -diff --git a/krfb/rfbserver.cpp b/krfb/rfbserver.cpp -index 82a10a0..fef04d6 100644 ---- a/krfb/rfbserver.cpp -+++ b/krfb/rfbserver.cpp +Index: krfb-20.08.1/krfb/rfbserver.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/rfbserver.cpp 2020-09-02 07:05:32.873344910 +0200 ++++ krfb-20.08.1/krfb/rfbserver.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -19,11 +19,11 @@ */ #include "rfbserver.h" @@ -445,7 +445,7 @@ index 82a10a0..fef04d6 100644 #include struct RfbServer::Private -@@ -92,7 +92,7 @@ bool RfbServer::start() +@@ -92,7 +92,7 @@ if (!d->screen) { d->screen = RfbServerManager::instance()->newScreen(); if (!d->screen) { @@ -454,7 +454,7 @@ index 82a10a0..fef04d6 100644 return false; } -@@ -125,14 +125,14 @@ bool RfbServer::start() +@@ -125,14 +125,14 @@ d->screen->authPasswdData = (void *)nullptr; } @@ -471,10 +471,10 @@ index 82a10a0..fef04d6 100644 rfbShutdownServer(d->screen, false); return false; }; -diff --git a/krfb/rfbservermanager.cpp b/krfb/rfbservermanager.cpp -index e7262c4..2385f1b 100644 ---- a/krfb/rfbservermanager.cpp -+++ b/krfb/rfbservermanager.cpp +Index: krfb-20.08.1/krfb/rfbservermanager.cpp +=================================================================== +--- krfb-20.08.1.orig/krfb/rfbservermanager.cpp 2020-09-02 07:05:32.873344910 +0200 ++++ krfb-20.08.1/krfb/rfbservermanager.cpp 2020-09-02 07:05:40.725370922 +0200 @@ -29,7 +29,6 @@ #include #include @@ -483,6 +483,3 @@ index e7262c4..2385f1b 100644 #include #include --- -2.28.0 - diff --git a/krfb-20.08.0.tar.xz b/krfb-20.08.0.tar.xz deleted file mode 100644 index 06be0f8..0000000 --- a/krfb-20.08.0.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:f7ca46cc216ecd3790d045a36a642c834a9af4024409075e7a5bf8b498c67e4b -size 1280444 diff --git a/krfb-20.08.0.tar.xz.sig b/krfb-20.08.0.tar.xz.sig deleted file mode 100644 index d07bbb2..0000000 --- a/krfb-20.08.0.tar.xz.sig +++ /dev/null @@ -1,11 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEzBAABCgAdFiEE8jJ15L8Qr8HfaRSm29LOiT4tHIcFAl8tAgwACgkQ29LOiT4t -HIeVZQf/V40sZeDyJsg5enQO9xBrmINqxdreM1lza9YOFL+DuQwdRVPSDnv4lO5j -l5aWRk1BlKtgKb1nn0tlVwn3LWIDHInJY911Cl8/z/yKyhLhnhMjRFhyX7YanyR1 -cdzCzMAAmmB9jTU9FOKimBMlvMBZsb6P0KpFcJtBMXFSlGMqGJm8UMBbxSTWLAUw -XSfj+x3cDdg4OAU/CFlHiN8UBD55sR/I+7B7njbyszSuIDsXVpTlYYILWugk8pMr -ue2IzROd1FpioTXVb1l5X40d4qpBJ5JvvQbr2QhHXHHVwL8rKsT0ycuYfc9rD/yW -C3wP5noMFogy0R+NLnQz4B87EUfMuQ== -=3VSy ------END PGP SIGNATURE----- diff --git a/krfb-20.08.1.tar.xz b/krfb-20.08.1.tar.xz new file mode 100644 index 0000000..af34820 --- /dev/null +++ b/krfb-20.08.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a80b9bab47f2a7299e33b0e2a10b117605ec1cc572ca72e914c7f01dde383eda +size 1280460 diff --git a/krfb-20.08.1.tar.xz.sig b/krfb-20.08.1.tar.xz.sig new file mode 100644 index 0000000..34664d4 --- /dev/null +++ b/krfb-20.08.1.tar.xz.sig @@ -0,0 +1,11 @@ +-----BEGIN PGP SIGNATURE----- + +iQEzBAABCgAdFiEE8jJ15L8Qr8HfaRSm29LOiT4tHIcFAl9N7n4ACgkQ29LOiT4t +HIeD2QgAmqpMQRBIjNzuu1DB9LMbqurkKP/a8Gv54tKTMw7R2In2ZaVCILjS9FS6 +wKrNspIouJORSELpL7AqXW8vUTDVqiGPUHwW/vZarm+INcsZGhtAoOPs63wm32ya +X+fmNWNcAvHLiTNQ/3BVsA120LZKI+MT8UxKsPLSVkTcNJdfjdPZKK1cUwekF3uS +1q6voS5VO/JsY+8opoqCzYBvX/3zaeIHBiXP2pCq7ViteMZDvnMKlglGV61Aossa +s5QrYrxvF0qczv+iZwcOfTihrGHcatLb5P3m0WQUYYzbZs/1nnea9flySu2NttWI +ihcH4aoIq2be6toERkQO6AtVtWy4IA== +=K8Q2 +-----END PGP SIGNATURE----- diff --git a/krfb.changes b/krfb.changes index c5c9bf5..bcc4045 100644 --- a/krfb.changes +++ b/krfb.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Sep 1 20:50:40 UTC 2020 - Luca Beltrame + +- Update to 20.08.1 + * New bugfix release + * For more details please see: + * https://kde.org/announcements/releases/2020-09-apps-update +- No code change since 20.08.0 +- Rebased patches against 20.08.1: + - 0001-Declare-and-use-logging-categories.patch + ------------------------------------------------------------------- Mon Aug 31 15:57:48 UTC 2020 - Stefan Brüns diff --git a/krfb.spec b/krfb.spec index ed72647..4986de7 100644 --- a/krfb.spec +++ b/krfb.spec @@ -21,7 +21,7 @@ %{!?_kapp_version: %define _kapp_version %(echo %{version}| awk -F. '{print $1"."$2}')} %bcond_without lang Name: krfb -Version: 20.08.0 +Version: 20.08.1 Release: 0 Summary: Screen sharing using the VNC/RFB protocol License: GPL-2.0-or-later