From cddeb0d9d261d0a7f6e987c69d6123f5aedeebbe Mon Sep 17 00:00:00 2001
From: dscho <dscho>
Date: Fri, 14 Dec 2001 15:36:23 +0000
Subject: *argc=0 in cargs allowed, when copying area, first undraw cursor ...

---
 cargs.c | 3 +++
 main.c  | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/cargs.c b/cargs.c
index e94ed52..dfb8f1c 100644
--- a/cargs.c
+++ b/cargs.c
@@ -40,6 +40,8 @@ rfbProcessArguments(rfbScreenInfoPtr rfbScreen,int* argc, char *argv[])
 {
     int i,i1;
 
+    if(!argc) return;
+    
     for (i = i1 = 1; i < *argc; i++) {
         if (strcmp(argv[i], "-help") == 0) {
 	    rfbUsage();
@@ -101,6 +103,7 @@ rfbProcessSizeArguments(int* width,int* height,int* bpp,int* argc, char *argv[])
 {
     int i,i1;
 
+    if(!argc) return;
     for (i = i1 = 1; i < *argc-1; i++) {
         if (strcmp(argv[i], "-bpp") == 0) {
                *bpp = atoi(argv[++i]);
diff --git a/main.c b/main.c
index f87181c..5e39ae5 100644
--- a/main.c
+++ b/main.c
@@ -143,6 +143,8 @@ void rfbDoCopyRegion(rfbScreenInfoPtr rfbScreen,sraRegionPtr copyRegion,int dx,i
     rowstride=rfbScreen->paddedWidthInBytes;
    char *in,*out;
 
+   rfbUndrawCursor(rfbScreen);
+  
    /* copy it, really */
    i = sraRgnGetReverseIterator(copyRegion,dx<0,dy<0);
    while(sraRgnIteratorNext(i,&rect)) {
-- 
cgit v1.2.3

