diff --git a/.cvsignore b/.cvsignore index e55dbd7..c32957c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1,3 @@ -gtk-vnc-0.1.0.tar.gz *.src.rpm .*.log +gtk-vnc-0.2.0.tar.gz diff --git a/gtk-vnc-0.1.0-clear-area.patch b/gtk-vnc-0.1.0-clear-area.patch deleted file mode 100644 index a8c7ce0..0000000 --- a/gtk-vnc-0.1.0-clear-area.patch +++ /dev/null @@ -1,51 +0,0 @@ -changeset: 54:b1c48ddc01d9 -tag: tip -user: "Daniel P. Berrange " -date: Wed Aug 22 15:10:12 2007 -0400 -files: src/vncdisplay.c -description: -Clear excess space in widget - - -diff -r f6b6e9e2ac43 -r b1c48ddc01d9 src/vncdisplay.c ---- a/src/vncdisplay.c Wed Aug 22 15:09:58 2007 -0400 -+++ b/src/vncdisplay.c Wed Aug 22 15:10:12 2007 -0400 -@@ -103,6 +103,8 @@ static gboolean expose_event(GtkWidget * - VncDisplay *obj = VNC_DISPLAY(widget); - VncDisplayPrivate *priv = obj->priv; - int x, y, w, h; -+ GdkRectangle drawn; -+ GdkRegion *clear, *copy; - - if (priv->shm_image == NULL) - return TRUE; -@@ -114,9 +116,27 @@ static gboolean expose_event(GtkWidget * - w -= x; - h -= y; - -+ drawn.x = x; -+ drawn.y = y; -+ drawn.width = w; -+ drawn.height = h; -+ -+ clear = gdk_region_rectangle(&expose->area); -+ copy = gdk_region_rectangle(&drawn); -+ gdk_region_subtract(clear, copy); -+ -+ gdk_gc_set_clip_region(priv->gc, copy); - vnc_shm_image_draw(priv->shm_image, widget->window, -- priv->gc, -+ priv->gc, - x, y, x, y, w, h); -+ -+ gdk_gc_set_clip_region(priv->gc, clear); -+ gdk_draw_rectangle(widget->window, priv->gc, TRUE, expose->area.x, expose->area.y, -+ expose->area.width, expose->area.height); -+ -+ gdk_region_destroy(clear); -+ gdk_region_destroy(copy); -+ - return TRUE; - } - - diff --git a/gtk-vnc-0.1.0-colour-depth.patch b/gtk-vnc-0.1.0-colour-depth.patch deleted file mode 100644 index 8f98b8a..0000000 --- a/gtk-vnc-0.1.0-colour-depth.patch +++ /dev/null @@ -1,226 +0,0 @@ -changeset: 55:ccee737658e4 -tag: tip -user: "Daniel P. Berrange " -date: Fri Aug 24 17:19:37 2007 -0400 -files: src/blt.h src/gvnc.c src/gvnc.h src/vncdisplay.c -description: -Fixed adjustment for mis-matched colour depths local vs remote - - -diff -r b1c48ddc01d9 -r ccee737658e4 src/blt.h ---- a/src/blt.h Wed Aug 22 15:10:12 2007 -0400 -+++ b/src/blt.h Fri Aug 24 17:19:37 2007 -0400 -@@ -32,7 +32,6 @@ static void FILL(struct gvnc *gvnc, src_ - int x, int y, int width, int height) - { - uint8_t *dst = gvnc_get_local(gvnc, x, y); -- struct gvnc_pixel_format *f = &gvnc->fmt; - int i; - - for (i = 0; i < 1; i++) { -@@ -40,9 +39,9 @@ static void FILL(struct gvnc *gvnc, src_ - int j; - - for (j = 0; j < width; j++) { -- *dp = ((*sp >> f->red_shift) & gvnc->rm) << gvnc->local.red_shift -- | ((*sp >> f->green_shift) & gvnc->gm) << gvnc->local.green_shift -- | ((*sp >> f->blue_shift) & gvnc->bm) << gvnc->local.blue_shift; -+ *dp = (((uint32_t)*sp >> gvnc->rrs) & gvnc->rm) << gvnc->rls -+ | (((uint32_t)*sp >> gvnc->grs) & gvnc->gm) << gvnc->gls -+ | (((uint32_t)*sp >> gvnc->brs) & gvnc->bm) << gvnc->bls; - dp++; - } - dst += gvnc->local.linesize; -@@ -56,7 +55,6 @@ static void BLIT(struct gvnc *gvnc, uint - static void BLIT(struct gvnc *gvnc, uint8_t *src, int pitch, int x, int y, int w, int h) - { - uint8_t *dst = gvnc_get_local(gvnc, x, y); -- struct gvnc_pixel_format *f = &gvnc->fmt; - int i; - - for (i = 0; i < h; i++) { -@@ -65,9 +63,9 @@ static void BLIT(struct gvnc *gvnc, uint - int j; - - for (j = 0; j < w; j++) { -- *dp = ((*sp >> f->red_shift) & gvnc->rm) << gvnc->local.red_shift -- | ((*sp >> f->green_shift) & gvnc->gm) << gvnc->local.green_shift -- | ((*sp >> f->blue_shift) & gvnc->bm) << gvnc->local.blue_shift; -+ *dp = (((uint32_t)*sp >> gvnc->rrs) & gvnc->rm) << gvnc->rls -+ | (((uint32_t)*sp >> gvnc->grs) & gvnc->gm) << gvnc->gls -+ | (((uint32_t)*sp >> gvnc->brs) & gvnc->bm) << gvnc->bls; - dp++; - sp++; - } -@@ -146,3 +144,12 @@ static void SUBRECT(struct gvnc *gvnc, u - #undef BLIT - #undef dst_pixel_t - #undef src_pixel_t -+ -+ -+/* -+ * Local variables: -+ * c-indent-level: 8 -+ * c-basic-offset: 8 -+ * tab-width: 8 -+ * End: -+ */ -diff -r b1c48ddc01d9 -r ccee737658e4 src/gvnc.c ---- a/src/gvnc.c Wed Aug 22 15:10:12 2007 -0400 -+++ b/src/gvnc.c Fri Aug 24 17:19:37 2007 -0400 -@@ -104,6 +104,8 @@ struct gvnc - struct gvnc_framebuffer local; - - int rm, gm, bm; -+ int rrs, grs, brs; -+ int rls, gls, bls; - - gvnc_blt_func *blt; - gvnc_hextile_func *hextile; -@@ -673,7 +675,7 @@ static void gvnc_read_pixel_format(struc - - fmt->bits_per_pixel = gvnc_read_u8(gvnc); - fmt->depth = gvnc_read_u8(gvnc); -- fmt->big_endian_flag = gvnc_read_u8(gvnc); -+ fmt->byte_order = gvnc_read_u8(gvnc) ? __BIG_ENDIAN : __LITTLE_ENDIAN; - fmt->true_color_flag = gvnc_read_u8(gvnc); - - fmt->red_max = gvnc_read_u16(gvnc); -@@ -686,23 +688,12 @@ static void gvnc_read_pixel_format(struc - - gvnc_read(gvnc, pad, 3); - -- GVNC_DEBUG("Pixel format BPP: %d, Depth: %d, Endian: %d, True color: %d\n" -+ GVNC_DEBUG("Pixel format BPP: %d, Depth: %d, Byte order: %d, True color: %d\n" - " Mask red: %3d, green: %3d, blue: %3d\n" - " Shift red: %3d, green: %3d, blue: %3d\n", -- fmt->bits_per_pixel, fmt->depth, fmt->big_endian_flag, fmt->true_color_flag, -+ fmt->bits_per_pixel, fmt->depth, fmt->byte_order, fmt->true_color_flag, - fmt->red_max, fmt->green_max, fmt->blue_max, - fmt->red_shift, fmt->green_shift, fmt->blue_shift); -- -- -- if (((__BYTE_ORDER == __BIG_ENDIAN) && !fmt->big_endian_flag) || -- ((__BYTE_ORDER == __LITTLE_ENDIAN) && fmt->big_endian_flag)) { -- fmt->red_shift = fmt->bits_per_pixel - fmt->red_shift - (fmt->bits_per_pixel - fmt->depth); -- fmt->green_shift = fmt->bits_per_pixel - fmt->green_shift - (fmt->bits_per_pixel - fmt->depth); -- fmt->blue_shift = fmt->bits_per_pixel - fmt->blue_shift - (fmt->bits_per_pixel - fmt->depth); -- -- GVNC_DEBUG("Flipped shifts Shift red: %3d, green: %3d, blue: %3d\n", -- fmt->red_shift, fmt->green_shift, fmt->blue_shift); -- } - } - - /* initialize function */ -@@ -722,7 +713,7 @@ gboolean gvnc_set_pixel_format(struct gv - - gvnc_write_u8(gvnc, fmt->bits_per_pixel); - gvnc_write_u8(gvnc, fmt->depth); -- gvnc_write_u8(gvnc, fmt->big_endian_flag); -+ gvnc_write_u8(gvnc, fmt->byte_order == __BIG_ENDIAN ? 1 : 0); - gvnc_write_u8(gvnc, fmt->true_color_flag); - - gvnc_write_u16(gvnc, fmt->red_max); -@@ -1985,7 +1976,7 @@ gboolean gvnc_set_credential_x509_cert(s - - gboolean gvnc_set_local(struct gvnc *gvnc, struct gvnc_framebuffer *fb) - { -- int i, j; -+ int i, j, n; - int depth; - - memcpy(&gvnc->local, fb, sizeof(*fb)); -@@ -1997,8 +1988,7 @@ gboolean gvnc_set_local(struct gvnc *gvn - fb->red_shift == gvnc->fmt.red_shift && - fb->green_shift == gvnc->fmt.green_shift && - fb->blue_shift == gvnc->fmt.blue_shift && -- ((gvnc->fmt.big_endian_flag && (__BYTE_ORDER == __BIG_ENDIAN)) || -- (!gvnc->fmt.big_endian_flag && (__BYTE_ORDER == __LITTLE_ENDIAN)))) -+ __BYTE_ORDER == gvnc->fmt.byte_order) - gvnc->perfect_match = TRUE; - else - gvnc->perfect_match = FALSE; -@@ -2016,6 +2006,47 @@ gboolean gvnc_set_local(struct gvnc *gvn - gvnc->local.red_mask, gvnc->local.green_mask, gvnc->local.blue_mask, - gvnc->fmt.red_max, gvnc->fmt.green_max, gvnc->fmt.blue_max, - gvnc->rm, gvnc->gm, gvnc->bm); -+ -+ /* Setup shifts assuming matched bpp (but not neccessarily match rgb order)*/ -+ gvnc->rrs = gvnc->fmt.red_shift; -+ gvnc->grs = gvnc->fmt.green_shift; -+ gvnc->brs = gvnc->fmt.blue_shift; -+ -+ gvnc->rls = gvnc->local.red_shift; -+ gvnc->gls = gvnc->local.green_shift; -+ gvnc->bls = gvnc->local.blue_shift; -+ -+ -+ /* This adjusts for server/client endianness mismatch */ -+ if (__BYTE_ORDER != gvnc->fmt.byte_order) { -+ gvnc->rrs = gvnc->fmt.bits_per_pixel - gvnc->rrs - (gvnc->fmt.bits_per_pixel - gvnc->fmt.depth); -+ gvnc->grs = gvnc->fmt.bits_per_pixel - gvnc->grs - (gvnc->fmt.bits_per_pixel - gvnc->fmt.depth); -+ gvnc->brs = gvnc->fmt.bits_per_pixel - gvnc->brs - (gvnc->fmt.bits_per_pixel - gvnc->fmt.depth); -+ -+ GVNC_DEBUG("Flipped shifts red: %3d, green: %3d, blue: %3d\n", -+ gvnc->rrs, gvnc->grs, gvnc->brs); -+ } -+ -+ -+ /* This adjusts for remote having more bpp than local */ -+ for (n = gvnc->fmt.red_max; n > gvnc->local.red_mask ; n>>= 1) -+ gvnc->rrs++; -+ for (n = gvnc->fmt.green_max; n > gvnc->local.green_mask ; n>>= 1) -+ gvnc->grs++; -+ for (n = gvnc->fmt.blue_max; n > gvnc->local.blue_mask ; n>>= 1) -+ gvnc->brs++; -+ -+ /* This adjusts for remote having less bpp than remote */ -+ for (n = gvnc->local.red_mask ; n > gvnc->fmt.red_max ; n>>= 1) -+ gvnc->rls++; -+ for (n = gvnc->local.green_mask ; n > gvnc->fmt.green_max ; n>>= 1) -+ gvnc->gls++; -+ for (n = gvnc->local.blue_mask ; n > gvnc->fmt.blue_max ; n>>= 1) -+ gvnc->bls++; -+ GVNC_DEBUG("Pixel shifts\n right: %3d %3d %3d\n left: %3d %3d %3d\n", -+ gvnc->rrs, gvnc->grs, gvnc->brs, -+ gvnc->rls, gvnc->gls, gvnc->bls); -+ - i = gvnc->fmt.bits_per_pixel / 8; - j = gvnc->local.bpp; - -diff -r b1c48ddc01d9 -r ccee737658e4 src/gvnc.h ---- a/src/gvnc.h Wed Aug 22 15:10:12 2007 -0400 -+++ b/src/gvnc.h Fri Aug 24 17:19:37 2007 -0400 -@@ -24,7 +24,7 @@ struct gvnc_pixel_format - { - uint8_t bits_per_pixel; - uint8_t depth; -- uint8_t big_endian_flag; -+ uint16_t byte_order; - uint8_t true_color_flag; - uint16_t red_max; - uint16_t green_max; -diff -r b1c48ddc01d9 -r ccee737658e4 src/vncdisplay.c ---- a/src/vncdisplay.c Wed Aug 22 15:10:12 2007 -0400 -+++ b/src/vncdisplay.c Fri Aug 24 17:19:37 2007 -0400 -@@ -426,7 +426,6 @@ static gboolean on_resize(void *opaque, - VncDisplay *obj = VNC_DISPLAY(opaque); - VncDisplayPrivate *priv = obj->priv; - GdkVisual *visual; -- int depth; - - if (priv->gvnc == NULL || !gvnc_is_initialized(priv->gvnc)) - return TRUE; -@@ -446,9 +445,8 @@ static gboolean on_resize(void *opaque, - priv->gc = gdk_gc_new(GTK_WIDGET(obj)->window); - } - -- depth = gdk_drawable_get_depth(GTK_WIDGET(obj)->window); -- visual = gdk_visual_get_best_with_depth(depth); -- -+ visual = gdk_drawable_get_visual(GTK_WIDGET(obj)->window); -+ - priv->shm_image = vnc_shm_image_new(visual, width, height, priv->use_shm); - priv->fb.shm_id = priv->shm_image->shmid; - - diff --git a/gtk-vnc-0.1.0-endian-bgr.patch b/gtk-vnc-0.1.0-endian-bgr.patch deleted file mode 100644 index 0b5de4a..0000000 --- a/gtk-vnc-0.1.0-endian-bgr.patch +++ /dev/null @@ -1,131 +0,0 @@ -changeset: 53:f6b6e9e2ac43 -user: "Daniel P. Berrange " -date: Wed Aug 22 15:09:58 2007 -0400 -files: src/blt.h src/gvnc.c -description: -Fixed handling of shifts for BGR displays and mixed endian client vs server - - -diff -r 453f9ca2a737 -r f6b6e9e2ac43 src/blt.h ---- a/src/blt.h Wed Aug 22 10:40:33 2007 -0400 -+++ b/src/blt.h Wed Aug 22 15:09:58 2007 -0400 -@@ -40,9 +40,9 @@ static void FILL(struct gvnc *gvnc, src_ - int j; - - for (j = 0; j < width; j++) { -- *dp = ((*sp >> f->red_shift) & gvnc->rm) << gvnc->rp -- | ((*sp >> f->green_shift) & gvnc->gm) << gvnc->gp -- | ((*sp >> f->blue_shift) & gvnc->bm) << gvnc->bp; -+ *dp = ((*sp >> f->red_shift) & gvnc->rm) << gvnc->local.red_shift -+ | ((*sp >> f->green_shift) & gvnc->gm) << gvnc->local.green_shift -+ | ((*sp >> f->blue_shift) & gvnc->bm) << gvnc->local.blue_shift; - dp++; - } - dst += gvnc->local.linesize; -@@ -65,9 +65,9 @@ static void BLIT(struct gvnc *gvnc, uint - int j; - - for (j = 0; j < w; j++) { -- *dp = ((*sp >> f->red_shift) & gvnc->rm) << gvnc->rp -- | ((*sp >> f->green_shift) & gvnc->gm) << gvnc->gp -- | ((*sp >> f->blue_shift) & gvnc->bm) << gvnc->bp; -+ *dp = ((*sp >> f->red_shift) & gvnc->rm) << gvnc->local.red_shift -+ | ((*sp >> f->green_shift) & gvnc->gm) << gvnc->local.green_shift -+ | ((*sp >> f->blue_shift) & gvnc->bm) << gvnc->local.blue_shift; - dp++; - sp++; - } -diff -r 453f9ca2a737 -r f6b6e9e2ac43 src/gvnc.c ---- a/src/gvnc.c Wed Aug 22 10:40:33 2007 -0400 -+++ b/src/gvnc.c Wed Aug 22 15:09:58 2007 -0400 -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - #include "coroutine.h" - #include "d3des.h" -@@ -102,7 +103,6 @@ struct gvnc - gboolean perfect_match; - struct gvnc_framebuffer local; - -- int rp, gp, bp; - int rm, gm, bm; - - gvnc_blt_func *blt; -@@ -676,9 +676,6 @@ static void gvnc_read_pixel_format(struc - fmt->big_endian_flag = gvnc_read_u8(gvnc); - fmt->true_color_flag = gvnc_read_u8(gvnc); - -- GVNC_DEBUG("Pixel format BPP: %d, Depth: %d, Endian: %d, True color: %d\n", -- fmt->bits_per_pixel, fmt->depth, fmt->big_endian_flag, fmt->true_color_flag); -- - fmt->red_max = gvnc_read_u16(gvnc); - fmt->green_max = gvnc_read_u16(gvnc); - fmt->blue_max = gvnc_read_u16(gvnc); -@@ -688,6 +685,24 @@ static void gvnc_read_pixel_format(struc - fmt->blue_shift = gvnc_read_u8(gvnc); - - gvnc_read(gvnc, pad, 3); -+ -+ GVNC_DEBUG("Pixel format BPP: %d, Depth: %d, Endian: %d, True color: %d\n" -+ " Mask red: %3d, green: %3d, blue: %3d\n" -+ " Shift red: %3d, green: %3d, blue: %3d\n", -+ fmt->bits_per_pixel, fmt->depth, fmt->big_endian_flag, fmt->true_color_flag, -+ fmt->red_max, fmt->green_max, fmt->blue_max, -+ fmt->red_shift, fmt->green_shift, fmt->blue_shift); -+ -+ -+ if (((__BYTE_ORDER == __BIG_ENDIAN) && !fmt->big_endian_flag) || -+ ((__BYTE_ORDER == __LITTLE_ENDIAN) && fmt->big_endian_flag)) { -+ fmt->red_shift = fmt->bits_per_pixel - fmt->red_shift - (fmt->bits_per_pixel - fmt->depth); -+ fmt->green_shift = fmt->bits_per_pixel - fmt->green_shift - (fmt->bits_per_pixel - fmt->depth); -+ fmt->blue_shift = fmt->bits_per_pixel - fmt->blue_shift - (fmt->bits_per_pixel - fmt->depth); -+ -+ GVNC_DEBUG("Flipped shifts Shift red: %3d, green: %3d, blue: %3d\n", -+ fmt->red_shift, fmt->green_shift, fmt->blue_shift); -+ } - } - - /* initialize function */ -@@ -1981,7 +1996,9 @@ gboolean gvnc_set_local(struct gvnc *gvn - fb->blue_mask == gvnc->fmt.blue_max && - fb->red_shift == gvnc->fmt.red_shift && - fb->green_shift == gvnc->fmt.green_shift && -- fb->blue_shift == gvnc->fmt.blue_shift) -+ fb->blue_shift == gvnc->fmt.blue_shift && -+ ((gvnc->fmt.big_endian_flag && (__BYTE_ORDER == __BIG_ENDIAN)) || -+ (!gvnc->fmt.big_endian_flag && (__BYTE_ORDER == __LITTLE_ENDIAN)))) - gvnc->perfect_match = TRUE; - else - gvnc->perfect_match = FALSE; -@@ -1990,21 +2007,15 @@ gboolean gvnc_set_local(struct gvnc *gvn - if (depth == 32) - depth = 24; - -- gvnc->rp = (gvnc->local.depth - gvnc->local.red_shift); -- gvnc->rp -= (depth - gvnc->fmt.red_shift); -- gvnc->gp = (gvnc->local.red_shift - gvnc->local.green_shift); -- gvnc->gp -= (gvnc->fmt.red_shift - gvnc->fmt.green_shift); -- gvnc->bp = (gvnc->local.green_shift - gvnc->local.blue_shift); -- gvnc->bp -= (gvnc->fmt.green_shift - gvnc->fmt.blue_shift); -- -- gvnc->rp = gvnc->local.red_shift + gvnc->rp; -- gvnc->gp = gvnc->local.green_shift + gvnc->gp; -- gvnc->bp = gvnc->local.blue_shift + gvnc->bp; -- - gvnc->rm = gvnc->local.red_mask & gvnc->fmt.red_max; - gvnc->gm = gvnc->local.green_mask & gvnc->fmt.green_max; - gvnc->bm = gvnc->local.blue_mask & gvnc->fmt.blue_max; -- -+ GVNC_DEBUG("Mask local: %3d %3d %3d\n" -+ " remote: %3d %3d %3d\n" -+ " merged: %3d %3d %3d\n", -+ gvnc->local.red_mask, gvnc->local.green_mask, gvnc->local.blue_mask, -+ gvnc->fmt.red_max, gvnc->fmt.green_max, gvnc->fmt.blue_max, -+ gvnc->rm, gvnc->gm, gvnc->bm); - i = gvnc->fmt.bits_per_pixel / 8; - j = gvnc->local.bpp; - - diff --git a/gtk-vnc-0.1.0-python-demo.patch b/gtk-vnc-0.1.0-python-demo.patch deleted file mode 100644 index 116d066..0000000 --- a/gtk-vnc-0.1.0-python-demo.patch +++ /dev/null @@ -1,21 +0,0 @@ -changeset: 51:a4bd9ecc4e4e -user: "Daniel P. Berrange " -date: Wed Aug 22 10:35:47 2007 -0400 -files: examples/gvncviewer.py -description: -Fix offf by one in argv use - - -diff -r 860bcf129876 -r a4bd9ecc4e4e examples/gvncviewer.py ---- a/examples/gvncviewer.py Wed Aug 15 17:45:56 2007 -0400 -+++ b/examples/gvncviewer.py Wed Aug 22 10:35:47 2007 -0400 -@@ -153,7 +153,7 @@ vnc.set_keyboard_grab(True) - #v.set_pointer_local(True) - - if len(sys.argv) == 3: -- vnc.set_credential(gtkvnc.CREDENTIAL_PASSWORD, sys.argv[3]) -+ vnc.set_credential(gtkvnc.CREDENTIAL_PASSWORD, sys.argv[2]) - - disp = sys.argv[1].find(":") - if disp != -1: - diff --git a/gtk-vnc.spec b/gtk-vnc.spec index 4e941dc..6489b25 100644 --- a/gtk-vnc.spec +++ b/gtk-vnc.spec @@ -2,15 +2,11 @@ Summary: A GTK widget for VNC clients Name: gtk-vnc -Version: 0.1.0 -Release: 5%{?dist} +Version: 0.2.0 +Release: 1%{?dist} License: LGPLv2+ Group: Development/Libraries Source: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz -Patch1: %{name}-%{version}-clear-area.patch -Patch2: %{name}-%{version}-endian-bgr.patch -Patch3: %{name}-%{version}-python-demo.patch -Patch4: %{name}-%{version}-colour-depth.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) URL: http://gtk-vnc.sf.net/ BuildRequires: gtk2-devel pygtk2-devel python-devel gnutls-devel @@ -45,10 +41,6 @@ A module allowing use of the GTK-VNC widget from python %prep %setup -q -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 %build %configure @@ -88,6 +80,9 @@ rm -fr %{buildroot} %{_libdir}/python*/site-packages/gtkvnc.so %changelog +* Thu Sep 13 2007 Daniel P. Berrange - 0.2.0-1.fc8 +- Update to 0.2.0 release + * Wed Aug 29 2007 Daniel P. Berrange - 0.1.0-5.fc8 - Fixed handling of mis-matched client/server colour depths diff --git a/sources b/sources index a04bb99..aabae96 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f0781695819bd00d5ba160205723a3b4 gtk-vnc-0.1.0.tar.gz +b1321a9e88e5309f09c4f727f5a367e6 gtk-vnc-0.2.0.tar.gz