Re: [PATCH vdagent-win 1/6] vdagent: on encoding only, use HBITMAP to keep the correct palette

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Series looks good, ACK series.

Regards,

Hans


On 03/18/2013 02:41 PM, Arnon Gilboa wrote:
for decoding, keep using CF_DIB and CxImage.CopyToHandle() as before.

Regression was due to commit da07ce (rhbz #919150)

rhbz #921980
---
  vdagent/vdagent.cpp |    6 +++++-
  1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/vdagent/vdagent.cpp b/vdagent/vdagent.cpp
index c56025d..1dcfd1a 100644
--- a/vdagent/vdagent.cpp
+++ b/vdagent/vdagent.cpp
@@ -42,7 +42,7 @@ typedef struct VDClipboardFormat {
  VDClipboardFormat clipboard_formats[] = {
      {CF_UNICODETEXT, {VD_AGENT_CLIPBOARD_UTF8_TEXT, 0}},
      //FIXME: support more image types
-    {CF_BITMAP, {VD_AGENT_CLIPBOARD_IMAGE_PNG, VD_AGENT_CLIPBOARD_IMAGE_BMP, 0}},
+    {CF_DIB, {VD_AGENT_CLIPBOARD_IMAGE_PNG, VD_AGENT_CLIPBOARD_IMAGE_BMP, 0}},
  };

  #define clipboard_formats_count (sizeof(clipboard_formats) / sizeof(clipboard_formats[0]))
@@ -1008,6 +1008,10 @@ bool VDAgent::handle_clipboard_request(VDAgentClipboardRequest* clipboard_reques
          vd_printf("Unsupported clipboard type %u", clipboard_request->type);
          return false;
      }
+    // on encoding only, we use HBITMAP to keep the correct palette
+    if (format == CF_DIB) {
+        format = CF_BITMAP;
+    }
      if (!IsClipboardFormatAvailable(format) || !OpenClipboard(_hwnd)) {
          return false;
      }

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]