Pārlūkot izejas kodu

Provide correct dimensions for XShm setup

Since 53f913a we initialize the underlying PixelBuffer with 0x0
dimensions, which means we need to keep more explicit track of what
we are trying to allocate in the setup methods.
tags/v1.10.90
Pierre Ossman pirms 4 gadiem
vecāks
revīzija
0f1ded057d

+ 3
- 3
vncviewer/PlatformPixelBuffer.cxx Parādīt failu

@@ -43,7 +43,7 @@ PlatformPixelBuffer::PlatformPixelBuffer(int width, int height) :
#endif
{
#if !defined(WIN32) && !defined(__APPLE__)
if (!setupShm()) {
if (!setupShm(width, height)) {
xim = XCreateImage(fl_display, CopyFromParent, 32,
ZPixmap, 0, 0, width, height, 32, 0);
if (!xim)
@@ -136,7 +136,7 @@ static int XShmAttachErrorHandler(Display *dpy, XErrorEvent *error)
return 0;
}

bool PlatformPixelBuffer::setupShm()
bool PlatformPixelBuffer::setupShm(int width, int height)
{
int major, minor;
Bool pixmaps;
@@ -153,7 +153,7 @@ bool PlatformPixelBuffer::setupShm()
shminfo = new XShmSegmentInfo;

xim = XShmCreateImage(fl_display, CopyFromParent, 32,
ZPixmap, 0, shminfo, width(), height());
ZPixmap, 0, shminfo, width, height);
if (!xim)
goto free_shminfo;


+ 1
- 1
vncviewer/PlatformPixelBuffer.h Parādīt failu

@@ -53,7 +53,7 @@ protected:

#if !defined(WIN32) && !defined(__APPLE__)
protected:
bool setupShm();
bool setupShm(int width, int height);

protected:
XShmSegmentInfo *shminfo;

Notiek ielāde…
Atcelt
Saglabāt