From 99d651489e68ce4d3e53387deab3be757d459a92 Mon Sep 17 00:00:00 2001 From: Constantin Kaplinsky Date: Mon, 22 May 2006 05:45:20 +0000 Subject: [PATCH] Minor code refactoring: loading initial screen data moved from XDesktop to PollingManager. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@572 3789f03b-4d11-0410-bbf8-ca57d06f2519 --- x0vncserver/PollingManager.cxx | 3 +++ x0vncserver/x0vncserver.cxx | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/x0vncserver/PollingManager.cxx b/x0vncserver/PollingManager.cxx index 3c6be4f8..8328101a 100644 --- a/x0vncserver/PollingManager.cxx +++ b/x0vncserver/PollingManager.cxx @@ -72,6 +72,9 @@ PollingManager::PollingManager(Display *dpy, Image *image, m_widthTiles = (m_width + 31) / 32; m_heightTiles = (m_height + 31) / 32; + // Get initial screen image. + m_image->get(DefaultRootWindow(m_dpy), m_offsetLeft, m_offsetTop); + // Create additional images used in the polling algorithm. // FIXME: verify that these images use the same pixel format as in m_image. m_rowImage = factory->newImage(m_dpy, m_width, 1); diff --git a/x0vncserver/x0vncserver.cxx b/x0vncserver/x0vncserver.cxx index 70a5361b..530f60e8 100644 --- a/x0vncserver/x0vncserver.cxx +++ b/x0vncserver/x0vncserver.cxx @@ -169,12 +169,12 @@ public: vlog.info("Enabling %d button%s of X pointer device", maxButtons, (maxButtons != 1) ? "s" : ""); + // Create an image for maintaining framebuffer data. ImageFactory factory((bool)useShm, (bool)useOverlay); image = factory.newImage(dpy, geometry->width(), geometry->height()); - image->get(DefaultRootWindow(dpy), - geometry->offsetLeft(), geometry->offsetTop()); - // FIXME: Duplication in using offsets above and here: + // Create polling manager object. It will track screen changes and + // keep pixels of the `image' object up to date. pollmgr = new PollingManager(dpy, image, &factory, geometry->offsetLeft(), geometry->offsetTop()); -- 2.39.5