diff options
| author | jsorg71 <jsorg71> | 2005-03-06 03:44:27 +0000 |
|---|---|---|
| committer | jsorg71 <jsorg71> | 2005-03-06 03:44:27 +0000 |
| commit | d5dea39bafc3440b1726cf90a8295ecb393e059c (patch) | |
| tree | 58a3d4f5a3666980433bbe5648cf3229731d8b0c /xrdp/xrdp_cache.c | |
| parent | 8e807eefd25dd678d525fd0b8248e397fae6ffa9 (diff) | |
| download | xrdp-proprietary-d5dea39bafc3440b1726cf90a8295ecb393e059c.tar.gz xrdp-proprietary-d5dea39bafc3440b1726cf90a8295ecb393e059c.zip | |
added connection log
Diffstat (limited to 'xrdp/xrdp_cache.c')
| -rw-r--r-- | xrdp/xrdp_cache.c | 35 |
1 files changed, 32 insertions, 3 deletions
diff --git a/xrdp/xrdp_cache.c b/xrdp/xrdp_cache.c index e3c73ecd..62bce7a6 100644 --- a/xrdp/xrdp_cache.c +++ b/xrdp/xrdp_cache.c @@ -340,7 +340,7 @@ int xrdp_cache_add_pointer(struct xrdp_cache* self, } self->pointer_stamp++; /* look for match */ - for (i = 0; i < self->pointer_cache_entries; i++) + for (i = 2; i < self->pointer_cache_entries; i++) { if (self->pointer_items[i].x == pointer_item->x && self->pointer_items[i].y == pointer_item->y && @@ -351,14 +351,15 @@ int xrdp_cache_add_pointer(struct xrdp_cache* self, { self->pointer_items[i].stamp = self->pointer_stamp; xrdp_wm_set_pointer(self->wm, i); + self->wm->current_pointer = i; DEBUG(("found pointer at %d\n\r", i)); return i; } } /* look for oldest */ - index = 0; + index = 2; oldest = 0x7fffffff; - for (i = 0; i < self->pointer_cache_entries; i++) + for (i = 2; i < self->pointer_cache_entries; i++) { if (self->pointer_items[i].stamp < oldest) { @@ -378,6 +379,34 @@ int xrdp_cache_add_pointer(struct xrdp_cache* self, self->pointer_items[index].mask, self->pointer_items[index].x, self->pointer_items[index].y); + self->wm->current_pointer = index; + DEBUG(("adding pointer at %d\n\r", index)); + return index; +} + +/*****************************************************************************/ +int xrdp_cache_add_pointer_static(struct xrdp_cache* self, + struct xrdp_pointer_item* pointer_item, + int index) +{ + + if (self == 0) + { + return 0; + } + self->pointer_items[index].x = pointer_item->x; + self->pointer_items[index].y = pointer_item->y; + g_memcpy(self->pointer_items[index].data, + pointer_item->data, 32 * 32 * 3); + g_memcpy(self->pointer_items[index].mask, + pointer_item->mask, 32 * 32 / 8); + self->pointer_items[index].stamp = self->pointer_stamp; + xrdp_wm_send_pointer(self->wm, index, + self->pointer_items[index].data, + self->pointer_items[index].mask, + self->pointer_items[index].x, + self->pointer_items[index].y); + self->wm->current_pointer = index; DEBUG(("adding pointer at %d\n\r", index)); return index; } |
