Merge remote branch 'matthortman/MBH' into raster
authorMichael Jumper <zhangmaike@users.sourceforge.net>
Mon, 27 Feb 2012 18:34:51 +0000 (10:34 -0800)
committerMichael Jumper <zhangmaike@users.sourceforge.net>
Mon, 27 Feb 2012 18:34:51 +0000 (10:34 -0800)
Makefile.am
configure.in
src/rdp_gdi.c
src/rdp_pointer.c

index b22b0b9..d4f143b 100644 (file)
@@ -45,3 +45,5 @@ libguac_client_rdp_la_SOURCES = src/client.c src/rdp_keymap.c src/rdp_bitmap.c s
 
 libguac_client_rdp_la_LDFLAGS = -version-info 0:0:0
 
+EXTRA_DIST = LICENSE
+
index fa11749..5428b88 100644 (file)
@@ -35,7 +35,7 @@
 # ***** END LICENSE BLOCK *****
 
 AC_INIT(src/client.c)
-AM_INIT_AUTOMAKE([libguac-client-rdp], 0.5.0)
+AM_INIT_AUTOMAKE([libguac-client-rdp], 0.6.0)
 AC_CONFIG_MACRO_DIR([m4])
 
 # Checks for programs.
index 7688718..a9ca292 100755 (executable)
 #include "rdp_bitmap.h"
 
 void guac_rdp_gdi_dstblt(rdpContext* context, DSTBLT_ORDER* dstblt) {
+
     guac_client* client = ((rdp_freerdp_context*) context)->client;
-    guac_client_log_info(client, "guac_rdp_gdi_dstblt()");
+    const guac_layer* current_layer = ((rdp_guac_client_data*) client->data)->current_surface;
+
+    switch (dstblt->bRop) {
+
+        /* Blackness */
+        case 0:
+
+            /* Send black rectangle */
+            guac_protocol_send_rect(client->socket,
+                    GUAC_COMP_OVER, current_layer,
+                    dstblt->nLeftRect, dstblt->nTopRect,
+                    dstblt->nWidth, dstblt->nHeight,
+                    0, 0, 0, 255);
+            break;
+
+        /* Unsupported ROP3 */
+        default:
+            guac_client_log_info(client,
+                    "guac_rdp_gdi_dstblt(rop3=%i)", dstblt->bRop);
+
+    }
+
+
+
 }
 
 void guac_rdp_gdi_patblt(rdpContext* context, PATBLT_ORDER* patblt) {
index e0ef548..00ea93f 100644 (file)
@@ -74,6 +74,7 @@ void guac_rdp_pointer_new(rdpContext* context, rdpPointer* pointer) {
 
     /* Free surface */
     cairo_surface_destroy(surface);
+    free(data);
 
     /* Remember buffer */
     ((guac_rdp_pointer*) pointer)->layer = buffer;