2015-02-10  Daniel P. Berrange  <[email protected]>

       Update to 0..5.4 release

2015-02-09  Daniel P. Berrange  <[email protected]>

       Ensure we find mingw version of libgcrypt-config in $PATH

       Add typo in keymap name for wayland

2015-02-06  Peter Korsgaard  <[email protected]>

       keymaps.csv: use official USB/HID scancodes for vol mute/up/down + find/stop
       The Linux kernel's usb_kbd_keycode translation table oddly enough translates
       2 different USB/HID scancodes to the same Linux KEY_* symbol for a the
       volume mute/up/down and find/stop symbols.  The first of these matches the
       HID usage tables (Hut1_12.pdf), and the second is in the reserved range
       (0xe8-0xffff).

       It is unclear why this is done (the commit predates the move to git), but
       for the reverse table in keymaps.csv it makes sense to use the values from
       the official HID usage tables instead.

2015-02-06  Daniel P. Berrange  <[email protected]>

       win32: translate virtual-key code to scancode via MapVirtualKey
       Local client keyboard layout shouldn't affect hardware scancode sent
       to guest, so that guest keyboard layout configuration can map it
       properly.

       Unfortunately, the Win32 GdkEventKey.hardware_keycode isn't a hardware
       scancode, but the Windows virtual-key code. We could modify Gdk to
       return the scancode (available in MSG.lParam or via global hook), but
       that would mean some Gdk breakage, or some unnecessary complexity.
       Instead, we can rely on MapVirtualKey(), which translates the
       vitual-key code into a scan code using current keyboard layout.

       This code is imported from SPICE-GTK

       Install hook for Windows key code handling
       To fix handling of AltGr keys on Windows displays, install a
       hook for Windows keycode handling. This is copied from code
       in SPICE-GTK

       https://bugzilla.gnome.org/show_bug.cgi?id=731825

       Support GTK Broadway backend
       Copy changes from SPICE-GTK which implemented support for
       GTK Broadway backend, with hacky keymapping.

       Fix initialization of gcrypt threading dependant on gnutls
       For GNUTLS 2.12, if it uses gcrypt, we must not initialize
       gcrypt threading ourselves.

       https://bugzilla.gnome.org/show_bug.cgi?id=734858

       Add support for Wayland and Xwayland keymap
       Both Wayland and Xwayland use the evdev + 8 map for keycodes,
       just as regular Xorg with evdev does.

       Disable -Wbad-function-cast for glib
       The glib atomic access macros cause compiler warnings when
       -Wbad-function-cast is in effect. There is no practical
       workaround so the warning must be disabled.

       Do an explicit check for libgcrypt
       We can no longer assume that any gnutls install will include
       libgcrypt, so we must do an explicit check for it at configure
       time.

2015-01-06  Fabiano FidĂȘncio  <[email protected]>

       connection: adapt to libgcrypt >= 1.6
       From "gcrypt.h":

       > NOTE: Since Libgcrypt 1.6 the thread callbacks are not anymore used.
       > However we keep it to allow for some source code compatibility if used
       > in the standard way.

       build: disable -Wbad-function-cast
       Due to a change in glib headers, gtk-vnc build is broken:

         In file included from /usr/include/glib-2.0/glib/gthread.h:32:0,
                          from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                          from /usr/include/glib-2.0/glib.h:32,
                          from /usr/include/glib-2.0/gobject/gbinding.h:28,
                          from /usr/include/glib-2.0/glib-object.h:23,
                          from vncbaseaudio.h:24,
                          from vncbaseaudio.c:25:
         vncbaseaudio.c: In function 'vnc_base_audio_get_type':
         /usr/include/glib-2.0/glib/gatomic.h:108:5: error: cast from function call of type 'long unsigned int' to non-matching type 'void *' [-Werror=bad-function-cast]
              (gpointer) __atomic_load_8 ((atomic), __ATOMIC_SEQ_CST);                 \
              ^
         /usr/include/glib-2.0/glib/gthread.h:250:7: note: in expansion of macro 'g_atomic_pointer_get'
              (!g_atomic_pointer_get (location) &&                             \
                ^
         /usr/include/glib-2.0/gobject/gtype.h:1697:7: note: in expansion of macro 'g_once_init_enter'
            if (g_once_init_enter (&g_define_type_id__volatile))  \
                ^
         /usr/include/glib-2.0/gobject/gtype.h:1476:60: note: in expansion of macro '_G_DEFINE_TYPE_EXTENDED_BEGIN'
          #define G_DEFINE_TYPE_EXTENDED(TN, t_n, T_P, _f_, _C_)     _G_DEFINE_TYPE_EXTENDED_BEGIN (TN, t_n, T_P, _f_) {_C_;} _G_DEFINE_TYPE_EXTENDED_END()
                                                                     ^
         vncbaseaudio.c:40:1: note: in expansion of macro 'G_DEFINE_TYPE_EXTENDED'
          G_DEFINE_TYPE_EXTENDED(VncBaseAudio, vnc_base_audio, G_TYPE_OBJECT, 0,
          ^
         cc1: all warnings being treated as errors
         make[3]: *** [libgvnc_1_0_la-vncbaseaudio.lo] Error 1
         make[2]: *** [all] Error 2
         make[1]: *** [all-recursive] Error 1
         make: *** [all] Error 2

       For now, lets remove the -Wbad-function-cast from manywarnings.m4.

2014-10-29  Daniel P. Berrange  <[email protected]>

       Enable double buffering on GTK3

2014-10-07  Daniel P. Berrange  <[email protected]>

       Remove tab character

2014-10-07  Cole Robinson  <[email protected]>

       Fixes these noisy errors on Fedora 21:
       gcc: warning: switch '-Wmudflap' is no longer supported

2014-10-07  Daniel P. Berrange  <[email protected]>

       Always send back pixel format message
       If operating in 8bpp colourmap mode, at least one, VNC server is
       known to not send the colourmap entries until after it receives
       the set pixel format message. So always send that message even
       if it is just matching the server's default.

2014-09-12  Christophe Fergeau  <[email protected]>

       Chain up to parent vfunc in VncDisplay::realize_event
       Without this, gtk-vnc will abort when establishing a VNC connection.
       This regression was introduced in 910c4d40e.

       https://bugzilla.gnome.org/show_bug.cgi?id=736560

2014-08-28  Christophe Fergeau  <[email protected]>

       Don't call into GDK when we don't have a GdkWindow yet
       In some situations, virt-viewer will call some gtk-vnc methods while
       the gtk-vnc widget is not realized. This means it has no associated
       GdkWindow and that it's not possible to do GDK calls on this widget.
       Some of these gtk-vnc were trying to call into GDK without checking
       this, causing runtime warnings such as:

       (virt-viewer:29150): Gdk-CRITICAL **: gdk_window_set_cursor: assertion
       'GDK_IS_WINDOW (window)' failed

       or

       (virt-viewer:20076): Gdk-CRITICAL **: gdk_window_get_width: assertion
       `GDK_IS_WINDOW (window)' failed

       (virt-viewer:20076): Gdk-CRITICAL **: gdk_window_get_height: assertion
       `GDK_IS_WINDOW (window)' failed

         #0  g_logv (log_domain=0x3247a74066 "Gdk", log_level=G_LOG_LEVEL_CRITICAL,
             format=<optimized out>, args=args@entry=0x7fffffffd1b0) at gmessages.c:1038
         #1  0x0000003a97450eff in g_log (
             log_domain=log_domain@entry=0x3247a74066 "Gdk",
             log_level=log_level@entry=G_LOG_LEVEL_CRITICAL,
             format=format@entry=0x3a974bee3a "%s: assertion '%s' failed")
             at gmessages.c:1071
         #2  0x0000003a97450f39 in g_return_if_fail_warning (
             log_domain=log_domain@entry=0x3247a74066 "Gdk",
             pretty_function=pretty_function@entry=0x3247a8a320 <__FUNCTION__.33032> "gdk_window_get_width",
             expression=expression@entry=0x3247a74794 "GDK_IS_WINDOW (window)")
             at gmessages.c:1080
         #3  0x0000003247a35ed4 in gdk_window_get_width (window=0x0) at gdkwindow.c:6093
         #4  0x00007ffff7dc5e73 in gdk_drawable_get_size (w=0x0, ww=0x7fffffffd2f0,
             wh=0x7fffffffd2f4) at vncdisplay.c:140
         #5  0x00007ffff7dcc183 in vnc_display_set_scaling (obj=0x9661e0 [VncDisplay],
             enable=1) at vncdisplay.c:2446
         #6  0x0000000000425555 in virt_viewer_display_vnc_new (
             vnc=0x9661e0 [VncDisplay]) at virt-viewer-display-vnc.c:191
         #7  0x00000000004241b3 in virt_viewer_session_vnc_disconnected (
             vnc=0x9661e0 [VncDisplay], session=0x962560 [VirtViewerSessionVnc])
             at virt-viewer-session-vnc.c:114
         #8  0x0000003944a10747 in _g_closure_invoke_va (
             closure=closure@entry=0x6d2480, return_value=return_value@entry=0x0,
             instance=instance@entry=0x9661e0, args=args@entry=0x7fffffffd560,
             n_params=0, param_types=0x0) at gclosure.c:831
         #9  0x0000003944a299d7 in g_signal_emit_valist (instance=0x9661e0,
             signal_id=<optimized out>, detail=0,
             var_args=var_args@entry=0x7fffffffd560) at gsignal.c:3215
         #10 0x0000003944a2a63f in g_signal_emit (instance=<optimized out>,
             signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3363
         #11 0x00007ffff7dc9a60 in on_disconnected (conn=0x975cc0 [VncConnection],
             opaque=0x9661e0) at vncdisplay.c:1568
         #12 0x0000003944a10747 in _g_closure_invoke_va (
             closure=closure@entry=0x6d2190, return_value=return_value@entry=0x0,
             instance=instance@entry=0x975cc0, args=args@entry=0x7fffffffd850,
             n_params=0, param_types=0x0) at gclosure.c:831
         #13 0x0000003944a299d7 in g_signal_emit_valist (instance=0x975cc0,
             signal_id=<optimized out>, detail=0,
             var_args=var_args@entry=0x7fffffffd850) at gsignal.c:3215
         #14 0x0000003944a2a63f in g_signal_emit (instance=<optimized out>,
             signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3363
         #15 0x00007ffff7ba419c in do_vnc_connection_emit_main_context (
             opaque=0x7fffed16ef40) at vncconnection.c:578
         #16 0x0000003a97449c3a in g_main_dispatch (context=0x68d280) at gmain.c:3064
         #17 g_main_context_dispatch (context=context@entry=0x68d280) at gmain.c:3663
         #18 0x0000003a97449f88 in g_main_context_iterate (context=0x68d280,
             block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
             at gmain.c:3734
         #19 0x0000003a9744a25a in g_main_loop_run (loop=0x74c560) at gmain.c:3928

       https://bugzilla.gnome.org/show_bug.cgi?id=734348

2014-04-02  Praveen Illa  <[email protected]>

       updated Telugu translation

       Added Language code te to LINGUAS file

2014-02-07  GunChleoc  <[email protected]>

       Updated Scottish Gaelic translation

       Added Scottish Gaelic translation

2014-01-30  Daniel P. Berrange  <[email protected]>

       Fix dep on Gtk-3 GIR file
       Related to 423495e6e1cbf5936639e6b68c6cefe4fdadd368 which
       only fixed it for GTK-2

2014-01-29  Daniel P. Berrange  <[email protected]>

       Display warnings when running g-ir-scanner

       Release held keys upon grab_notify event
       gtk may propagate some press event up to the Spice display widget, but
       a widget may take focus and grab the release event, so the guest will
       keep seeing the key pressed.

       Releasing the keys when the grab is taken solves two menu-related bugs:

         https://bugzilla.redhat.com/show_bug.cgi?id=820829
         https://bugzilla.redhat.com/show_bug.cgi?id=924577

       This is based on a spice-gtk fix:

         http://lists.freedesktop.org/archives/spice-devel/2013-May/013351.html

2014-01-28  Daniel P. Berrange  <[email protected]>

       Add missing dep on Gtk introspection GIR
       https://bugzilla.gnome.org/show_bug.cgi?id=723009

2014-01-23  Daniel P. Berrange  <[email protected]>

       Fix parallel build of introspection gir files
       Add deps between build targets for gir files and use the
       --include-uninstalled option to deal with dependancies.

2013-12-31  Daniel P. Berrange  <[email protected]>

       Remove use of deprecated GTK_STOCK_OK/GTK_STOCK_CANCEL

2013-12-31  Koop Mast  <[email protected]>

       Rework introspection support so it works on FreeBSD.
       Based on the following documentation.

       https://wiki.gnome.org/Projects/GObjectIntrospection/AutotoolsIntegration

       Add stddef.h for size_t on FreeBSD.

2013-12-31  Christophe Fergeau  <[email protected]>

       sasl: Fix auth when using the PLAIN method
       sasl_client_start() can return SASL_OK, in which case calling
       sasl_client_step() returns an error. If sasl_client_start() returned
       SASL_OK and the remote told us auth is complete, we can break out of the
       stepping loop early.
       The upstream documentation is not very explicit about what to do when
       sasl_client_start() returns SASL_OK but this was clarified by
       http://asg.andrew.cmu.edu/archive/message.php?mailbox=archive.cyrus-sasl&msg=10104

       This is based on the libvirt patch

         commit 0955025b9cdb734293adfae09be1fdae231d7a73
         Author: Christophe Fergeau <[email protected]>
         Date:   Thu Nov 21 18:40:52 2013 +0100

           sasl: Fix authentication when using PLAIN mechanism

       https://bugzilla.gnome.org/show_bug.cgi?id=712820