diff options
author | Pierre Ossman <ossman@cendio.se> | 2009-04-23 12:31:42 +0000 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2009-04-23 12:31:42 +0000 |
commit | e9962f723139b39b7d389d5344cc54a16a7bd0be (patch) | |
tree | f9cced7ff67eaac254d9ca509ad8d8ddf8638af8 /common/rfb/SMsgWriterV3.h | |
parent | 53125a76e9f7a1f8de65c802fba2741559345788 (diff) | |
download | tigervnc-e9962f723139b39b7d389d5344cc54a16a7bd0be.tar.gz tigervnc-e9962f723139b39b7d389d5344cc54a16a7bd0be.zip |
Send desktop layout changes separately
Make sure we send any modifications to the desktop layout in a message that
does not modify the framebuffer data. This is required to make sure we have
a valid state on the client as it drops the framebuffer when it recieves a
framebuffer dimension change.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3787 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'common/rfb/SMsgWriterV3.h')
-rw-r--r-- | common/rfb/SMsgWriterV3.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/common/rfb/SMsgWriterV3.h b/common/rfb/SMsgWriterV3.h index e86c828c..5e0a3f1b 100644 --- a/common/rfb/SMsgWriterV3.h +++ b/common/rfb/SMsgWriterV3.h @@ -46,13 +46,19 @@ namespace rfb { void* data, void* mask); virtual void writeSetXCursor(int width, int height, int hotspotX, int hotspotY, void* data, void* mask); + virtual bool needFakeUpdate(); + virtual bool needNoDataUpdate(); + virtual void writeNoDataUpdate(); virtual void writeFramebufferUpdateStart(int nRects); virtual void writeFramebufferUpdateStart(); virtual void writeFramebufferUpdateEnd(); - virtual bool needFakeUpdate(); virtual void startRect(const Rect& r, unsigned int encoding); virtual void endRect(); + protected: + virtual void writePseudoRects(); + virtual void writeNoDataRects(); + private: rdr::MemOutStream* updateOS; rdr::OutStream* realOS; |