summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Turn display:show-hint into flags typeMarc-André Lureau2012-07-234-18/+29
|
* Destroy dialog immediately after runMarc-André Lureau2012-07-231-1/+1
| | | | | If the parent is already destroyed, it looks like the dialog is destroyed too. This avoids a crash when calling app_quit().
* build: generate enums type boilerplateMarc-André Lureau2012-07-233-3/+121
|
* spice: disconnect signal handlers when either object is destroyedMarc-André Lureau2012-07-233-14/+135
| | | | | | | | | | | Use virt_viewer_signal_connect_object(), a copy of telepathy utility function tp_g_signal_connect_object(). This function will take care of removing signal handler if any of emitter or attached object are destroyed. The following patches will have this condition met, since there is no longer 1-1 relation between channel and display. The channels can continue to be around when some of the display are removed.
* spice: improve fullscreen=auto-confMarc-André Lureau2012-07-231-0/+4
| | | | | Do keep client monitor position, do not align monitors automatically. The align property is only available since v0.12.101.
* Revert "Fix virt_viewer_app_activate return value"Christophe Fergeau2012-06-151-7/+4
| | | | | | | This reverts commit 3ce6df7c309068f36e2602692da809a153ed5688. This commit broke virt-viewer which expects this function to return -1 or 0 on error, and a positive value on success in virt_viewer_initial_connect.
* Fix virt_viewer_app_activate return valueChristophe Fergeau2012-06-131-4/+7
| | | | | | | | VirtViewerApp::activate is expected to return -1 on errors. It calls the VirtViewerSession::open_* methods, which return FALSE on error. However, VirtViewerApp::activate directly returns these boolean instead of testing the returned value and properly returning -1 on errors. This caused errors in these open methodes to be ignored.
* Fix various memory leaksChristophe Fergeau2012-06-134-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ==25063== 59 bytes in 1 blocks are definitely lost in loss record 5,163 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==25063== by 0x3DE3862D0B: g_strdup (gstrfuncs.c:356) ==25063== by 0x41F40A: connected (remote-viewer-main.c:186) ==25063== by 0x3DE400F663: g_closure_invoke (gclosure.c:777) ==25063== by 0x3DE40206D7: signal_emit_unlocked_R (gsignal.c:3547) ==25063== by 0x3DE402866C: g_signal_emit_valist (gsignal.c:3296) ==25063== by 0x3DE4028CCF: g_signal_emit_by_name (gsignal.c:3389) ==25063== by 0x41AA53: reemit_signal_VOID (virt-viewer-session-ovirt.c:211) ==25063== by 0x3DE400F942: _g_closure_invoke_va (gclosure.c:840) ==25063== by 0x3DE4027D87: g_signal_emit_valist (gsignal.c:3207) ==25063== by 0x3DE4028CCF: g_signal_emit_by_name (gsignal.c:3389) ==25063== 14 bytes in 1 blocks are definitely lost in loss record 623 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x34561092F7: __vasprintf_chk (vasprintf_chk.c:82) ==25063== by 0x3DE3882F1A: g_vasprintf (stdio2.h:199) ==25063== by 0x3DE3862EDC: g_strdup_vprintf (gstrfuncs.c:509) ==25063== by 0x3DE3862F7B: g_strdup_printf (gstrfuncs.c:535) ==25063== by 0x40CBAE: virt_viewer_app_update_pretty_address (virt-viewer-app.c:1538) ==25063== by 0x40FB55: virt_viewer_app_free_connect_info (virt-viewer-app.c:1707) ==25063== by 0x40FBE9: virt_viewer_app_dispose (virt-viewer-app.c:1291) ==25063== by 0x3DE40144F7: g_object_unref (gobject.c:2981) ==25063== by 0x40C31A: main (remote-viewer-main.c:336) ==25063== 10 bytes in 1 blocks are definitely lost in loss record 491 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x34561092F7: __vasprintf_chk (vasprintf_chk.c:82) ==25063== by 0x3DE3882F1A: g_vasprintf (stdio2.h:199) ==25063== by 0x3DE3862EDC: g_strdup_vprintf (gstrfuncs.c:509) ==25063== by 0x3DE3862F7B: g_strdup_printf (gstrfuncs.c:535) ==25063== by 0x40DE36: window_update_menu_displays_cb (virt-viewer-app.c:1640) ==25063== by 0x3DE383833F: g_hash_table_foreach (ghash.c:1524) ==25063== by 0x3DE400F663: g_closure_invoke (gclosure.c:777) ==25063== by 0x3DE40206D7: signal_emit_unlocked_R (gsignal.c:3547) ==25063== by 0x3DE402866C: g_signal_emit_valist (gsignal.c:3296) ==25063== by 0x3DE40287C1: g_signal_emit (gsignal.c:3352) ==25063== by 0x5772F95: gtk_widget_show (gtkwidget.c:3225) ==25063== 8,431 (72 direct, 8,359 indirect) bytes in 1 blocks are definitely lost in loss record 9,468 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==25063== by 0x3DE38616B1: g_slice_alloc (gslice.c:1003) ==25063== by 0x3DE3861C05: g_slice_alloc0 (gslice.c:1029) ==25063== by 0x3DE402F96F: g_type_create_instance (gtype.c:1872) ==25063== by 0x3DE40147A7: g_object_constructor (gobject.c:1849) ==25063== by 0x3DE4016260: g_object_newv (gobject.c:1632) ==25063== by 0x3DE40168AB: g_object_new (gobject.c:1542) ==25063== by 0x40C4BD: virt_viewer_util_load_ui (virt-viewer-util.c:41) ==25063== by 0x40C7EB: virt_viewer_auth_collect_credentials (virt-viewer-auth.c:43) ==25063== by 0x41B391: authenticate_cb (virt-viewer-session-ovirt.c:430) ==25063== by 0x3458C05E8F: ffi_call_unix64 (unix64.S:75) ==25063== 32 (16 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 3,962 of 9,502 ==25063== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==25063== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==25063== by 0x3DE38616B1: g_slice_alloc (gslice.c:1003) ==25063== by 0x3DE38629F2: g_slist_append (gslist.c:222) ==25063== by 0x41483C: virt_viewer_window_init (virt-viewer-window.c:323) ==25063== by 0x3DE402FA05: g_type_create_instance (gtype.c:1892) ==25063== by 0x3DE40147A7: g_object_constructor (gobject.c:1849) ==25063== by 0x3DE4015D70: g_object_newv (gobject.c:1713) ==25063== by 0x3DE401655F: g_object_new_valist (gobject.c:1830) ==25063== by 0x3DE4016893: g_object_new (gobject.c:1545) ==25063== by 0x40DA34: virt_viewer_app_window_new (virt-viewer-app.c:590) ==25063== by 0x40E300: virt_viewer_app_constructor (virt-viewer-app.c:1336) ==30355== 4 bytes in 1 blocks are definitely lost in loss record 53 of 9,267 ==30355== at 0x4A0884D: malloc (vg_replace_malloc.c:263) ==30355== by 0x3DE384D2BE: g_malloc (gmem.c:159) ==30355== by 0x3DE3862D0B: g_strdup (gstrfuncs.c:356) ==30355== by 0x3DE40360FC: value_copy_string (gvaluetypes.c:276) ==30355== by 0x3DE40340CA: g_value_transform (gvalue.c:535) ==30355== by 0x3FDAE621DD: gdk_screen_get_setting (gdkevents-x11.c:3022) ==30355== by 0x3FDB3C7415: gtk_settings_get_property (gtksettings.c:1152) ==30355== by 0x3DE4017A74: g_object_get_property (gobject.c:1289) ==30355== by 0x414991: virt_viewer_window_disable_modifiers (virt-viewer-window.c:616) ==30355== by 0x415922: virt_viewer_window_keyboard_grab (virt-viewer-window.c:931) ==30355== by 0x3DE400F942: _g_closure_invoke_va (gclosure.c:840) ==30355== by 0x3DE4027D87: g_signal_emit_valist (gsignal.c:3207)
* Don't leak SPICE ticketChristophe Fergeau2012-06-131-0/+1
|
* spice: use weak references to display channelMarc-André Lureau2012-05-173-16/+15
| | | | | | | | | | | | Fix switch-host migration with Spice. spice-gtk doesn't like channels staying around when they should be destroyed/finalized, ie removed from session. spice-gtk should probably learned to handle better the case of non cooperating clients, and be able to dissociate a channel from a session without waiting for it to be disposed, but for now, the relation is quite tight.
* Avoid use of deprecated GTK3 pointer APIsv0.5.3Daniel P. Berrange2012-05-151-1/+12
| | | | | | | | The gtk_widget_get_pointer() API is deprecated in GTK3 since it is not aware of multiple pointers. Replace its usage in autoDrawer.c with GdkDeviceManager and friends Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Adapt to avoid use of deprecated GTK3 style & size APIsDaniel P. Berrange2012-05-151-2/+18
| | | | | | | | The GtkStyle API has been deprecated in favour of GtkStyleContext. Update ovBox.c to use the latter if building with GtK3. Also replace use of the gtk_widget_size_request API with gtk_widget_get_preferred_size. Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* dist: ship .ico in tarballMarc-André Lureau2012-05-141-2/+2
| | | | | | | | | Some distros (a 4-letters) don't have icotool. Let's ship the .ico in the tarball. The build will fail if icoutil is not installed when building from git or when the .ico is absent. The error should be explicit.
* Avoid race condition when disposing of appDaniel P. Berrange2012-05-081-1/+7
| | | | | | | | | | | When disposing of the VirtViewerApp, we free the hash table containing the windows. This causes each window to be freed, which in turn causes the visibility callback to be invoked. This can then get NULL pointers from the self->priv->windows usage. Blank out priv->windows before unrefing the hashs and add a check to ensure priv->windows is non-NULL.
* Ensure windows are destroyed when display closesDaniel P. Berrange2012-05-044-1/+18
| | | | | | | | | | | When running virt-viewer with the --reconnect argument, when the session closes, the VirtViewerWindow instances were being freed, but not the GtkWindow itself. So the orphaned window stayed around doing nothing. The GtkBuilder instance was also leaked. Fix these two leaks & also add some debugging to help future troubleshooting
* Change 'OK' button to 'Close' button in USB device selectionDaniel P. Berrange2012-05-021-1/+1
| | | | | The USB device selection applies immediately, so the dialog should be using 'Close' instead of 'OK' for its primary button
* g_getenv returns a const stringChristophe Fergeau2012-04-271-1/+1
| | | | | | When switching from getenv to g_getenv, 'doms' declaration wasn't changed from char * to const char *, which causes a gcc warning.
* Replace getenv/setenv with g_getenv/g_setenv for Win32 portabilityDaniel P. Berrange2012-04-261-3/+3
|
* Add debugging when performing fullscreen auto-configurationDaniel P. Berrange2012-04-251-1/+8
|
* Really fix debug output on glib >= 2.31Daniel P. Berrange2012-04-251-0/+12
|
* Fix debug output on glib >= 2.31Daniel P. Berrange2012-04-251-0/+2
|
* Set the remote-viewer binary application nameDaniel P. Berrange2012-04-231-0/+2
| | | | | | | Currently the window titles for remote-view have 'remote-viewer' appended them. This is based off the argv[0] name. We should be setting the GLib application name though, so we can get a localized 'Remote Viewer' string in the titlebar
* Add support for raw IPv6 addresses in VNC & libvirt URIsDaniel P. Berrange2012-04-232-4/+27
| | | | | | Support vnc://[x:y:z:]:5901/ for raw IPv6 addresses in URIs, and qemu+ssh://root@[x:y:x:]:22/ for raw IPv6 addresses in libvirt URIs
* Fix scaling of window to avoid integer truncationDaniel P. Berrange2012-04-192-2/+5
| | | | | Use round() instead of integer truncation when scaling the window, to avoid floating point precision problems on i386
* Add a desktop file for launching remote-viewerDaniel P. Berrange2012-04-182-0/+11
| | | | | | Enable automagic handling of spice:// URLs in firefox by registering a desktop handler for remote-viewer with the SPICE URI scheme
* Fix automatic usb redir through controllerChristophe Fergeau2012-04-171-5/+5
| | | | | | | | | | | | | | | | | | remote-viewer is currently trying to use SpiceUsbDeviceManager::auto-connect to control whether USB devices should be automatically connected or not. However, this property is more or less an internal spice-gtk property which is toggled by SpiceGtkSession when the SPICE widget gets/loses focus. SpiceGtkSession has an "auto-usbredir" property which can be used by applications to enable/disable automatic usb redirection through SPICE. Since this property is helpfully bound to VirtViewerSession::auto-usbredir, use this when the controller is told to enable/disable USB redirection. Without this change, automatic USB redirection will always get reenabled as soon as there's a focus change since SpiceGtkSession::auto-usbredir defaults to be enabled in spice-gtk.
* Minor simplification/optimization of VirtViewerDisplayZeeshan Ali (Khattak)2012-04-051-9/+5
|
* Fix typo in variable names for Win32 command helperDaniel P. Berrange2012-04-041-2/+2
|
* Fix close of VNC displaysDaniel P. Berrange2012-04-047-3/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When clicking the close button on a virt-viewer window with a VNC session open, while the VNC session terminates, the window does not go away. The problem is that the virt_viewer_session_vnc_disconnected method never gets invoked. The close button triggers a call to virt_viewer_session_clear_displays which unrefs the VirtViewerDisplayVnc instance. This in turn triggers a call to gtk_container_destroy, which destroys all widgets it contains, ie the VncDisplay * object. With the VncDisplay object in its dispose phase, no signals will ever be emitted, thus the 'vnc-disconnected' signal never gets seen. The design issue is that VirtViewerDisplayVnc is assuming it owns the VncDisplay, whereas in fact the real owner is the VirtViewerSessionVnc object. The solution is to introduce a new virt_viewer_display_close method which can be used to de-parent the widget before VirtViewerDisplay is unref'd. The VirtViewerSessionVnc object also needs to hold a full ref on the VncDisplay object, not merely a floating reference * virt-viewer-display-spice.c, virt-viewer-display.c, virt-viewer-display.h: Add virt_viewer_display_close * virt-viewer-display-vnc.c: Deparent VNC widget in virt_viewer_display_close impl * virt-viewer-session-vnc.c: Improve logging * virt-viewer-session.c: Call virt_viewer_display_close before unrefing display * virt-viewer-window.c: Improve logging Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Propagate USB redirection controller messagesChristophe Fergeau2012-04-041-1/+16
|
* Add support for the SPICE properties disable-effects & color-depthYonit Halperin2012-04-031-1/+3
| | | | | Signed-off-by: Yonit Halperin <yhalperi@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* build-sys: fix Windows specific LDFLAGS on non-mingwChristophe Fergeau2012-04-031-1/+3
|
* remote-viewer: make it a GUI/windows application with hybrid consoleMarc-André Lureau2012-04-022-0/+16
| | | | | If the application can attach to its parent console, redirect input/output. So that will work nicely with the command line wrapper.
* Add a Windows command line wrapperMarc-André Lureau2012-04-022-0/+95
| | | | Add a small command line wrapper, to be able to call GUI/windows application from the console
* Disable mnemonics via gtk-enable-mnemonics settingsMarc-André Lureau2012-04-011-33/+10
| | | | | | | This has 2 advantages, and I can't figure any drawback: - it fixes the issue of mnemonic hints being draw when pressing Alt key (character underlined), even when they were disabled. - it simplifies the code :)
* Disable menu items that would fail when there is no displayMarc-André Lureau2012-04-011-0/+18
|
* build-sys: use git.mk to generate gitignoreMarc-André Lureau2012-03-301-0/+2
| | | | | | | | This makefile is just fantastic, it forces you into good practices, support various build targets (my windows builddir ignore the right files etc..) The more I use it, the more I like it.
* win32: add a few Windows sepecific dataMarc-André Lureau2012-03-303-0/+55
| | | | Add application icon and manifest
* Fix recent --spice-controller regression, add error messageMarc-André Lureau2012-03-301-3/+10
| | | | | | | | | The current code will attempt to dereference args if --spice-controller, even if args is NULL. Let's not accept any extra argument/uri on the command line if using the controller. Beside, the conditionnal block looks better outside of the if condition.
* usbredir: listen for device-error signalHans de Goede2012-03-291-1/+4
| | | | Signed-off-by: Hans de Goede <hdegoede@redhat.com>
* remote-viewer: press Enter to connect in dialogMarc-André Lureau2012-03-291-0/+1
|
* Remove unused variable iMarc-André Lureau2012-03-291-3/+3
|
* remote-viewer: add a simple connection dialogMarc-André Lureau2012-03-293-4/+141
| | | | | | If the user doesn't provide URI, let's show a simple dialog to enter it. Also save & list recently used URLs in that dialog.
* Fix g_thread_init deprecation warningMarc-André Lureau2012-03-292-0/+4
| | | | | Although the doc says it is only deprecated since >2.32, it's actually >2.31 according to glib git log.
* Do not warn if the display is shown and not readyMarc-Andre Lureau2012-03-221-2/+4
| | | | | | | Lower warning message to debug level. There are various racy ways it ends up calling show_display although the display is not yet ready. This is not such a big problem, although it would be nice to handle this case better
* Notify focus state when the foreign menu title is setMarc-Andre Lureau2012-03-221-6/+26
| | | | | | | The current code only inform of focus state when the listener is ready. spice-gtk controller code lacks signal when a client connects, but a client will set the title when connected and send a notify signal. Use this event to notify of application focus state.
* Do not try to unref NULL menuMarc-Andre Lureau2012-03-221-1/+3
|
* Don't leak foreign menuMarc-Andre Lureau2012-03-221-0/+1
| | | | The RemoveViewer object will have its own ref.
* spice: handle switch-host eventMarc-André Lureau2012-03-211-6/+13
| | | | | | | | | Do not disconnect session when switching host (non-seamless migration method). Also, handle a bit better main channel events and do not disconnect on unknown events, however raise unhandled event message to warning level.
* spice: remove usage of deprecated audio apiMarc-André Lureau2012-03-211-8/+6
|