Commit 648f714b authored by Anthony Liguori's avatar Anthony Liguori
Browse files

Prepare for release and also make gtkgl usage transparent.

parent b5f1005d
2008-03-02 Anthony Liguori <>
* .hgtags:
Added tag release-0.3.4 for changeset 09836ab4d17a
[7ea3a341f452] [tip]
* src/vncdisplay.c:
Fixup cursor grab so that it works properly in relative mode.
[09836ab4d17a] [release-0.3.4]
* src/vncdisplay.c:
For the Hardy release cycle, Ubuntu seems to be building some
versions of GTK with G_ENABLE_DEBUG. When G_ENABLE_DEBUG is set,
the marshal functions use g_value_get_XXX() instead of directly
accessing the members. This function will validate that the
parameter holds the exact type of value being requested. Without
G_ENABLE_DEBUG set, no parameter type checking is done.
After writing a marshaling function from scratch, I discovered that
what we really need to use is the BOXED marshaling type as this is
the GValue type that a GValueArray will be set to. This should
hopefully fix this problem once and for all.
* src/vncdisplay.c:
Remove unused function
* src/vncdisplay.c:
Remove debug printf.
2008-03-02 Marton Balint <>
* src/vncdisplay.c:
A break statement is missing from the key event handler, where the
keypress event of an already pressed key is sent as a key release
and a key press event.
Without this patch, the effect of the normal auto-repeat is
multiplied, and if you hold down the backspace key for a long time
and then release it, you won't be able to press a key before
releasing the previously pressed key.
2008-03-02 Atsushi SAKAI <>
* examples/gvncviewer.c:
This patch removes redundunt headers from examples/gvncviewer.c.
Currently network is handled on src/gvnc.c
2008-02-25 "Daniel P. Berrange <>
* src/vncdisplay.c:
Do key event tracking based on scancode instead of keyval to ensure
matching press & release events
2008-02-25 Atsushi SAKAI <>
* src/vncdisplay.c:
This is compilation warning fix for Cset153.
2008-02-22 Atsushi SAKAI <>
* examples/gvncviewer.c, src/gvnc.c, src/vncdisplay.c:
This patch clean up all compilation warning except vncmarshal.c
2008-02-22 Saori Fukuta <>
* src/vncdisplay.c:
At Cset:127, Anthony changed the c_marshaller of vnc-auth-
credentials from PARAM to POINTER, and also the parameter types
changed from G_TYPE_VALUE_ARRAY to G_TYPE_POINTER. http://gtk- Do we need to
change the parameter type ?
AL: this fixes not only Python, but more recent versions of GTK that
are very strict about enforcing the type of the signal parameter.
2008-02-22 Anthony Liguori <>
* src/gvnc.c, src/gvnc.h, src/vncdisplay.c:
Branch merge
2008-02-19 "Daniel P. Berrange <>
* src/blt.h, src/vncdisplay.c:
Re-add bits of big endian fix which got lost in merge
2008-02-18 "Daniel P. Berrange <>
* src/gvnc.h:
Added missing variable
* src/gvnc.c:
Merge heads
* AUTHORS, src/blt.h, src/gvnc.c, src/gvnc.h, src/vncdisplay.c:
Fix big endian color conversion (Hiroyuki Kaguchi)
2008-02-18 Jonh Wendell <>
* src/gvnc.c:
Added lots of debug messages where we set the flag has_error to TRUE
2008-02-08 Jonh Wendell <>
Show 'support scaling?' in configure summary
* src/vncdisplay.c:
Focus the widget on mouse click
2008-02-20 Anthony Liguori <>
* src/gvnc.h:
Fix compile warnings introduced by previous commit.
2008-02-20 Stefano Stabellini <>
* src/gvnc.c, src/gvnc.h, src/vncdisplay.c:
Hi all, I am attaching a simple patch to add support for WMVi in
gtk-vnc. Seems to work well with xen-unstable.
2008-02-08 Anthony Liguori <>
* src/vncdisplay.c:
Make sure to free image data on close.
* src/vncdisplay.c:
Make sure to draw something to the widget even when not connected.
2008-02-06 Anthony Liguori <>
* examples/gvncviewer.c, src/libgtk-vnc_sym.version, src/vncdisplay.c,
Add interface to force pointer grab.
* src/vncdisplay.c:
Make sure to support key break when using raw keycodes
* src/vncdisplay.c:
on_resize() is called based on some events which aren't in a
coroutine. So we need to supress the signals when called like this
to avoid yielding to a non-existent coroutine.
* src/vncdisplay.c:
Always emit signals from system coroutine.
When using threads to simulate coroutines, GTK gets very confused as
signal handlers are run in a different thread than the main loop
when the signal handlers aren't expecting it.
This patch changes all of the signals emitted from the VNC coroutine
to use a delay function to actually issue the signals. This appears
to fix the GThread coroutine issue.
* src/blt.h, src/gvnc.c, src/gvnc.h, src/vncdisplay.c:
Revert e65d8e4758b3eed4ae7b3a225c2d5a35d9de146b until we figure out
what the regression it introduced with UltraVNC.
* examples/gvncviewer.c:
SetActive has the behavior we want so let's use that.
* src/vncdisplay.c:
Update cursor grab to have the following behavior:
For normal VNC servers, keyboard/mouse grab should only be activated
when ctrl-alt is clicked. If the server is doing cursor offloading,
we should use that cursor.
For servers supporting PointerTypeChange, when in absolute mode,
they should behave as above. When in relative mode, pointer grab
should also be activated on the first left-click in the window. The
cursor should *not* be hidden when cursor grab is not activated.
2008-02-06 Hiroyuki Kaguchi <>
* src/blt.h, src/gvnc.c, src/gvnc.h, src/vncdisplay.c:
When the endian between VNC server and X server is different, the
displayed color is abnormal. This is because the endian conversion
of the pixel data is not done .
X server that uses big endian cannot be used. The reason is that
most Linux vncserver sends data by little endian.
Of course, Fedora8(Linux) and Windows(Xming) works fine, since it
uses little endian for X protocol.
This patch applies follows: (a)The endian conversion function is
called by the SET_PIXEL function. (b)It is checked whether there is
difference in endian between X server and VNC Server. (c)The
byte_order variable is added to the gvnc_framebuffer structure.
Sign-off-by: Hiroyuki Kaguchi <>
2008-02-06 Atsushi SAKAI <>
* src/coroutine_gthread.c:
Just remove redundunt code. (same action is doing on
2008-02-04 Anthony Liguori <>
* src/vncdisplay.c:
Make sure to flush the gl buffer. This fixes updates on some
graphics cards. This patch was originally from Dan Berrange.
2008-02-03 Anthony Liguori <>
* src/libgtk-vnc_sym.version:
Add the new symbol
2008-02-02 Anthony Liguori <>
* src/, src/gvnc.c, src/gvnc.h, src/vnc_keycodes.h,
src/vncdisplay.c, src/x_keymap.c, src/x_keymap.h:
Support VNC Scancode extension.
*, examples/, examples/gvncviewer.c,
plugin/, src/, src/vncdisplay.c,
Support for OpenGL scaling
* .hgtags:
Added tag release-0.3.3 for changeset 784fc0419a5e
* ChangeLog, NEWS,
Prepare for 0.3.3 release
[784fc0419a5e] [release-0.3.3]
2008-01-28 Atsushi SAKAI <>
* src/gvnc.c:
Fix ZRLE encoding where multiple palette sizes of different lengths
occur in a single update.
[3bf6fb00d105] [tip]
2008-01-27 Anthony Liguori <>
Jan 2, 2008: Release 0.3.3
Mar 2, 2008: Release 0.3.4
Bug fixes:
o Fix cursor visibility when in relative pointer mode (Anthony Liguori)
o Fix vnc_auth_credential signal marshalling (Anthony Liguori, Saori Fukuta)
o Add missing break in key event handling (Marton Balint)
o Various build cleanups (Atsushi SAKAI)
o Fix key event tracking (Daniel Berrange)
o Fix big endian color conversion (Hiroyuki Kaguchi)
o More debug messages (Jonh Wendell)
o Add interface to explicitly force pointer grab (Anthony Liguori)
o Always emit signals from system coroutine (Anthony Liguori)
o Revert to 0.3.3 set_pointer_grab behavior (Anthony Liguori)
New features:
o Focus widget on mouse click (Jonh Wendell)
o WMVi support (Stefano Stabellini)
o OpenGL based scaling (Anthony Liguori, Daniel Berrange)
o VNC scancode extension (Anthony Liguori)
Feb 2, 2008: Release 0.3.3
Bug fixes:
dnl Process this file with autoconf to produce a configure script.
AC_INIT([gtk-vnc], [0.3.3], [])
AC_INIT([gtk-vnc], [0.3.4], [])
......@@ -21,7 +21,7 @@ AC_CONFIG_HEADERS([config.h:config.hin])
AM_INIT_AUTOMAKE(gtk-vnc, 0.3.3)
AM_INIT_AUTOMAKE(gtk-vnc, 0.3.4)
......@@ -10,10 +10,6 @@
#include <libview/autoDrawer.h>
#include <gtk/gtkgl.h>
static GtkWidget *vnc;
static void set_title(VncDisplay *vncdisplay, GtkWidget *window,
......@@ -283,9 +279,6 @@ int main(int argc, char **argv)
gtk_init(&argc, &argv);
gtk_gl_init(&argc, &argv);
vnc = vnc_display_new();
window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
......@@ -700,6 +700,9 @@ static void realize_event(GtkWidget *widget, gpointer data G_GNUC_UNUSED)
VncDisplayPrivate *priv = VNC_DISPLAY(widget)->priv;
if (priv->gl_config == NULL)
priv->gl_drawable = gtk_widget_get_gl_drawable(widget);
priv->gl_context = gtk_widget_get_gl_context(widget);
......@@ -1843,16 +1846,19 @@ static void vnc_display_init(VncDisplay *display)
priv->fd = -1;
priv->gl_config = gdk_gl_config_new(attrib);
if (!gtk_widget_set_gl_capability(widget,
g_warning("Could not enable OpenGL");
if (gtk_gl_init_check(NULL, NULL)) {
priv->gl_config = gdk_gl_config_new(attrib);
if (!gtk_widget_set_gl_capability(widget,
g_warning("Could not enable OpenGL");
priv->gl_config = NULL;
} else
priv->gl_config = NULL;
priv->gvnc = gvnc_new(&vnc_display_ops, obj);
......@@ -2063,6 +2069,9 @@ gboolean vnc_display_set_scaling(VncDisplay *obj, gboolean enable)
gint width, height;
g_return_val_if_fail (VNC_IS_DISPLAY (obj), FALSE);
if (obj->priv->gl_config == NULL)
return FALSE;
obj->priv->allow_scaling = enable;
if (gvnc_is_open(obj->priv->gvnc) && widget->window) {
gdk_drawable_get_size(widget->window, &width, &height);
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment