Get rid of getStride()
It was confusing and not properly used everywhere.
Callers should use the stride they get when they get
the buffer pointer.
diff --git a/unix/x0vncserver/XPixelBuffer.cxx b/unix/x0vncserver/XPixelBuffer.cxx
index f88eda4..f464182 100644
--- a/unix/x0vncserver/XPixelBuffer.cxx
+++ b/unix/x0vncserver/XPixelBuffer.cxx
@@ -35,8 +35,7 @@
m_dpy(dpy),
m_image(factory.newImage(dpy, rect.width(), rect.height())),
m_offsetLeft(rect.tl.x),
- m_offsetTop(rect.tl.y),
- m_stride(0)
+ m_offsetTop(rect.tl.y)
{
// Fill in the PixelFormat structure of the parent class.
format = PixelFormat(m_image->xim->bits_per_pixel,
@@ -57,7 +56,7 @@
// Calculate the distance in pixels between two subsequent scan
// lines of the framebuffer. This may differ from image width.
- m_stride = m_image->xim->bytes_per_line * 8 / m_image->xim->bits_per_pixel;
+ stride = m_image->xim->bytes_per_line * 8 / m_image->xim->bits_per_pixel;
// Get initial screen image from the X display.
m_image->get(DefaultRootWindow(m_dpy), m_offsetLeft, m_offsetTop);
diff --git a/unix/x0vncserver/XPixelBuffer.h b/unix/x0vncserver/XPixelBuffer.h
index ab4f88e..da03161 100644
--- a/unix/x0vncserver/XPixelBuffer.h
+++ b/unix/x0vncserver/XPixelBuffer.h
@@ -46,9 +46,6 @@
// Detect changed pixels, notify the server.
inline void poll(VNCServer *server) { m_poller->poll(server); }
- // Override PixelBuffer::getStride().
- virtual int getStride() const { return m_stride; }
-
// Override PixelBuffer::grabRegion().
virtual void grabRegion(const rfb::Region& region);
@@ -60,9 +57,6 @@
int m_offsetLeft;
int m_offsetTop;
- // The number of pixels in a row, with padding included.
- int m_stride;
-
// Copy pixels from the screen to the pixel buffer,
// for the specified rectangular area of the buffer.
inline void grabRect(const Rect &r) {
diff --git a/unix/xserver/hw/vnc/XserverDesktop.cc b/unix/xserver/hw/vnc/XserverDesktop.cc
index e53dccd..f93cf65 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.cc
+++ b/unix/xserver/hw/vnc/XserverDesktop.cc
@@ -177,7 +177,7 @@
server->unblockUpdates();
}
-void XserverDesktop::setFramebuffer(int w, int h, void* fbptr, int stride)
+void XserverDesktop::setFramebuffer(int w, int h, void* fbptr, int stride_)
{
ScreenSet layout;
@@ -191,12 +191,12 @@
if (!fbptr) {
fbptr = new rdr::U8[w * h * (format.bpp/8)];
- stride = w;
+ stride_ = w;
directFbptr = false;
}
data = (rdr::U8*)fbptr;
- stride_ = stride;
+ stride = stride_;
layout = computeScreenLayout();
@@ -1044,11 +1044,6 @@
grabbing = false;
}
-int XserverDesktop::getStride() const
-{
- return stride_;
-}
-
void XserverDesktop::keyEvent(rdr::U32 keysym, bool down)
{
if (down)
diff --git a/unix/xserver/hw/vnc/XserverDesktop.h b/unix/xserver/hw/vnc/XserverDesktop.h
index fa03d8a..046f31f 100644
--- a/unix/xserver/hw/vnc/XserverDesktop.h
+++ b/unix/xserver/hw/vnc/XserverDesktop.h
@@ -109,7 +109,6 @@
// rfb::PixelBuffer callbacks
virtual void grabRegion(const rfb::Region& r);
- virtual int getStride() const;
// rdr::Substitutor callback
virtual char* substitute(const char* varName);
@@ -131,7 +130,6 @@
rfb::HTTPServer* httpServer;
network::TcpListener* listener;
network::TcpListener* httpListener;
- int stride_;
bool deferredUpdateTimerSet;
bool grabbing;
bool ignoreHooks_;