mirror of
https://invent.kde.org/network/krfb
synced 2024-07-03 00:18:36 +00:00
Do not crash if the framebuffer plugin cannot be loaded.
BUG: 272290 svn path=/trunk/KDE/kdenetwork/krfb/; revision=1230289
This commit is contained in:
parent
ba554fe831
commit
5c9a3528b6
|
@ -88,6 +88,9 @@ bool RfbServer::start()
|
|||
{
|
||||
if (!d->screen) {
|
||||
d->screen = RfbServerManager::instance()->newScreen();
|
||||
if (!d->screen) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// server hooks
|
||||
d->screen->screenData = this;
|
||||
|
|
|
@ -175,29 +175,31 @@ void RfbServerManager::unregisterServer(RfbServer* server)
|
|||
|
||||
rfbScreenInfoPtr RfbServerManager::newScreen()
|
||||
{
|
||||
rfbScreenInfoPtr screen;
|
||||
rfbScreenInfoPtr screen = NULL;
|
||||
|
||||
int w = d->fb->width();
|
||||
int h = d->fb->height();
|
||||
int depth = d->fb->depth();
|
||||
int bpp = depth >> 3;
|
||||
if (!d->fb.isNull()) {
|
||||
int w = d->fb->width();
|
||||
int h = d->fb->height();
|
||||
int depth = d->fb->depth();
|
||||
int bpp = depth >> 3;
|
||||
|
||||
if (bpp != 1 && bpp != 2 && bpp != 4) {
|
||||
bpp = 4;
|
||||
if (bpp != 1 && bpp != 2 && bpp != 4) {
|
||||
bpp = 4;
|
||||
}
|
||||
|
||||
kDebug() << "bpp: " << bpp;
|
||||
|
||||
rfbLogEnable(0);
|
||||
|
||||
screen = rfbGetScreen(0, 0, w, h, 8, 3, bpp);
|
||||
screen->paddedWidthInBytes = d->fb->paddedWidth();
|
||||
d->fb->getServerFormat(screen->serverFormat);
|
||||
screen->frameBuffer = d->fb->data();
|
||||
|
||||
screen->desktopName = d->desktopName.constData();
|
||||
screen->cursor = d->myCursor;
|
||||
}
|
||||
|
||||
kDebug() << "bpp: " << bpp;
|
||||
|
||||
rfbLogEnable(0);
|
||||
|
||||
screen = rfbGetScreen(0, 0, w, h, 8, 3, bpp);
|
||||
screen->paddedWidthInBytes = d->fb->paddedWidth();
|
||||
d->fb->getServerFormat(screen->serverFormat);
|
||||
screen->frameBuffer = d->fb->data();
|
||||
|
||||
screen->desktopName = d->desktopName.constData();
|
||||
screen->cursor = d->myCursor;
|
||||
|
||||
return screen;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user