summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/reference/spice-gtk-sections.txt2
-rw-r--r--gtk/channel-display.c2
-rw-r--r--gtk/channel-display.h9
-rw-r--r--gtk/map-file1
-rw-r--r--gtk/spice-gtk-sym-file1
-rw-r--r--gtk/spice-widget.c45
-rw-r--r--gtk/spice-widget.h2
7 files changed, 13 insertions, 49 deletions
diff --git a/doc/reference/spice-gtk-sections.txt b/doc/reference/spice-gtk-sections.txt
index 9d8551b..8d61aa9 100644
--- a/doc/reference/spice-gtk-sections.txt
+++ b/doc/reference/spice-gtk-sections.txt
@@ -146,7 +146,6 @@ SpiceAudioPrivate
<TITLE>SpiceDisplayChannel</TITLE>
SpiceDisplayChannel
SpiceDisplayChannelClass
-SpiceDisplayMonitorConfig
<SUBSECTION Standard>
SPICE_DISPLAY_CHANNEL
SPICE_IS_DISPLAY_CHANNEL
@@ -353,7 +352,6 @@ spice_display_set_grab_keys
spice_display_get_grab_keys
spice_display_send_keys
spice_display_get_pixbuf
-spice_display_get_monitor_config
<SUBSECTION>
SpiceGrabSequence
spice_grab_sequence_new
diff --git a/gtk/channel-display.c b/gtk/channel-display.c
index 4d55337..93521da 100644
--- a/gtk/channel-display.c
+++ b/gtk/channel-display.c
@@ -262,7 +262,7 @@ static void spice_display_channel_class_init(SpiceDisplayChannelClass *klass)
/**
* SpiceDisplayChannel:monitors:
*
- * Current monitors configuration. An array of #SpiceDisplayMonitorConfig
+ * Current monitors configuration.
*
* Since: 0.13
*/
diff --git a/gtk/channel-display.h b/gtk/channel-display.h
index 4a5428e..88e60d9 100644
--- a/gtk/channel-display.h
+++ b/gtk/channel-display.h
@@ -33,15 +33,6 @@ typedef struct _SpiceDisplayChannel SpiceDisplayChannel;
typedef struct _SpiceDisplayChannelClass SpiceDisplayChannelClass;
typedef struct _SpiceDisplayChannelPrivate SpiceDisplayChannelPrivate;
-/**
- * SpiceDisplayMonitorConfig:
- * @id: the id of the monitor
- * @surface_id: the surface id of the monitor
- * @x: the position of the monitor on the x axis
- * @y: the position of the monitor on the y axis
- * @width: the width of the monitor
- * @height: the height of the monitor
- */
typedef struct _SpiceDisplayMonitorConfig SpiceDisplayMonitorConfig;
struct _SpiceDisplayMonitorConfig {
guint id;
diff --git a/gtk/map-file b/gtk/map-file
index d093f7c..368b44f 100644
--- a/gtk/map-file
+++ b/gtk/map-file
@@ -32,7 +32,6 @@ spice_display_new_with_monitor;
spice_display_paste_from_guest;
spice_display_send_keys;
spice_display_set_grab_keys;
-spice_display_get_monitor_config;
spice_error_get_type;
spice_get_option_group;
spice_grab_sequence_as_string;
diff --git a/gtk/spice-gtk-sym-file b/gtk/spice-gtk-sym-file
index 8d3c9a0..1574e07 100644
--- a/gtk/spice-gtk-sym-file
+++ b/gtk/spice-gtk-sym-file
@@ -9,7 +9,6 @@ spice_display_new_with_monitor
spice_display_paste_from_guest
spice_display_send_keys
spice_display_set_grab_keys
-spice_display_get_monitor_config
spice_grab_sequence_as_string
spice_grab_sequence_copy
spice_grab_sequence_free
diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c
index d5661d1..0447dda 100644
--- a/gtk/spice-widget.c
+++ b/gtk/spice-widget.c
@@ -278,48 +278,25 @@ static gint get_display_id(SpiceDisplay *display)
return d->channel_id;
}
-/**
- * spice_display_get_monitor_config:
- * @display: the display widget
- *
- * Gets the monitor configuration for the display, from which you can determine
- * the current position and resolution of the monitor
- *
- * Returns (transfer none): the monitor configuration for the display
- * Since: 0.22
- **/
-const SpiceDisplayMonitorConfig* spice_display_get_monitor_config(SpiceDisplay *display)
+static void update_monitor_area(SpiceDisplay *display)
{
- int i;
+ SpiceDisplayPrivate *d = SPICE_DISPLAY_GET_PRIVATE(display);
+ SpiceDisplayMonitorConfig *cfg, *c = NULL;
GArray *monitors = NULL;
- SpiceDisplayPrivate *d = NULL;
- SpiceDisplayMonitorConfig* c = NULL;
-
- g_return_val_if_fail(SPICE_IS_DISPLAY(display), NULL);
+ int i;
- d = display->priv;
- g_return_val_if_fail(d->monitor_id >= 0, NULL);
+ SPICE_DEBUG("update monitor area %d:%d", d->channel_id, d->monitor_id);
+ if (d->monitor_id < 0)
+ goto whole;
g_object_get(d->display, "monitors", &monitors, NULL);
for (i = 0; monitors != NULL && i < monitors->len; i++) {
- SpiceDisplayMonitorConfig *cfg = &g_array_index(monitors,
- SpiceDisplayMonitorConfig,
- i);
+ cfg = &g_array_index(monitors, SpiceDisplayMonitorConfig, i);
if (cfg->id == d->monitor_id) {
- c = cfg;
- break;
+ c = cfg;
+ break;
}
}
-
- g_clear_pointer(&monitors, g_array_unref);
- return c;
-}
-
-static void update_monitor_area(SpiceDisplay *display)
-{
- SpiceDisplayPrivate *d = SPICE_DISPLAY_GET_PRIVATE(display);
- const SpiceDisplayMonitorConfig *c = spice_display_get_monitor_config(display);
-
if (c == NULL) {
SPICE_DEBUG("update monitor: no monitor %d", d->monitor_id);
set_monitor_ready(display, false);
@@ -341,9 +318,11 @@ static void update_monitor_area(SpiceDisplay *display)
c->x, c->y, c->width, c->height, FALSE);
update_area(display, c->x, c->y, c->width, c->height);
+ g_clear_pointer(&monitors, g_array_unref);
return;
whole:
+ g_clear_pointer(&monitors, g_array_unref);
/* by display whole surface */
update_area(display, 0, 0, d->width, d->height);
set_monitor_ready(display, true);
diff --git a/gtk/spice-widget.h b/gtk/spice-widget.h
index f7cfbf1..d239ed2 100644
--- a/gtk/spice-widget.h
+++ b/gtk/spice-widget.h
@@ -80,8 +80,6 @@ void spice_display_send_keys(SpiceDisplay *display, const guint *keyvals,
int nkeyvals, SpiceDisplayKeyEvent kind);
GdkPixbuf *spice_display_get_pixbuf(SpiceDisplay *display);
-const SpiceDisplayMonitorConfig* spice_display_get_monitor_config(SpiceDisplay *display);
-
#ifndef SPICE_DISABLE_DEPRECATED
SPICE_DEPRECATED_FOR(spice_gtk_session_copy_to_guest)
void spice_display_copy_to_guest(SpiceDisplay *display);