<feed xmlns='http://www.w3.org/2005/Atom'>
<title>virt-viewer.git/src, branch wip/gapplication</title>
<subtitle>Graphical console client for virtual machines using libvirt</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/'/>
<entry>
<title>Drop support to gtk2</title>
<updated>2015-10-13T22:58:25+00:00</updated>
<author>
<name>Fabiano Fidêncio</name>
<email>fidencio@redhat.com</email>
</author>
<published>2015-10-06T17:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=3272ec9240f708ba4afbf4eeab9b351c20ce644d'/>
<id>3272ec9240f708ba4afbf4eeab9b351c20ce644d</id>
<content type='text'>
The 3.0 release was the last one that still supports GTK2. For the
Windows builds the support to GTK2 was dropped in the previous release.
Let's do the same for the entire project now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The 3.0 release was the last one that still supports GTK2. For the
Windows builds the support to GTK2 was dropped in the previous release.
Let's do the same for the entire project now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use the display ID to configure fullscreen monitors</title>
<updated>2015-10-09T14:17:52+00:00</updated>
<author>
<name>Jonathon Jongsma</name>
<email>jjongsma@redhat.com</email>
</author>
<published>2015-10-07T22:05:01+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=aff6c79ae080db286e4cb853cdfa02f2da0d0398'/>
<id>aff6c79ae080db286e4cb853cdfa02f2da0d0398</id>
<content type='text'>
When starting virt-viewer in fullscreen mode, we generally try to
arrange guest displays exactly the same as client monitors. So if a
client machine has two monitors, we'll try to enable display 0 and 1 on
the guest (in that order). However, when using the configuration file to
map fullscreen displays to different monitors, the guest displays may
not be sequential, or there may be displays missing. For example,
consider the following configuration:

monitor-mapping=1:2;2:1

In virt_viewer_session_spice_fullscreen_auto_conf(), we were building an
array of GdkRectangles for the initial monitors that we want to enable
on the guest. We then configured the guest displays using the index of
the array for the as the id of the guest display. But when displays
are sparse or are out-of-sequence, the array index will not match the
&gt;ntended display ID. This created problems where displays were arranged
incorrectly. By changing the simple array into a GHashTable, we can keep
the display ID together with the GdkRectangle until we need to use it,
and things will be configured correctly.

This regression was introduced by c586dc8c.

Fixes: rhbz#1267184
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When starting virt-viewer in fullscreen mode, we generally try to
arrange guest displays exactly the same as client monitors. So if a
client machine has two monitors, we'll try to enable display 0 and 1 on
the guest (in that order). However, when using the configuration file to
map fullscreen displays to different monitors, the guest displays may
not be sequential, or there may be displays missing. For example,
consider the following configuration:

monitor-mapping=1:2;2:1

In virt_viewer_session_spice_fullscreen_auto_conf(), we were building an
array of GdkRectangles for the initial monitors that we want to enable
on the guest. We then configured the guest displays using the index of
the array for the as the id of the guest display. But when displays
are sparse or are out-of-sequence, the array index will not match the
&gt;ntended display ID. This created problems where displays were arranged
incorrectly. By changing the simple array into a GHashTable, we can keep
the display ID together with the GdkRectangle until we need to use it,
and things will be configured correctly.

This regression was introduced by c586dc8c.

Fixes: rhbz#1267184
</pre>
</div>
</content>
</entry>
<entry>
<title>SessionSpice: make main-window a property</title>
<updated>2015-10-09T14:17:52+00:00</updated>
<author>
<name>Jonathon Jongsma</name>
<email>jjongsma@redhat.com</email>
</author>
<published>2015-09-16T19:56:51+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=63317571648089595e66e8dadfae955481c4c3d4'/>
<id>63317571648089595e66e8dadfae955481c4c3d4</id>
<content type='text'>
Make "main-window" a construct-only property of VirtViewerSessionSpice.
This allows us to set it in the constructor and encapsulate all of the
setup within the gobject constructor rather than doing extra work in the
_new() function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make "main-window" a construct-only property of VirtViewerSessionSpice.
This allows us to set it in the constructor and encapsulate all of the
setup within the gobject constructor rather than doing extra work in the
_new() function.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add new functions to enable/disable a display</title>
<updated>2015-09-10T21:02:13+00:00</updated>
<author>
<name>Jonathon Jongsma</name>
<email>jjongsma@redhat.com</email>
</author>
<published>2015-07-17T14:57:35+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=9c77a78af2ef85f3fcdce21b42d89566a9f7ee17'/>
<id>9c77a78af2ef85f3fcdce21b42d89566a9f7ee17</id>
<content type='text'>
Previously, there was a single function for controlling the enabled
state of a display: virt_viewer_display_set_enabled(). Unfortunately,
this function is used for two slightly different things:

 A. It informs the local display widget that the display has become
    disabled or enabled on the server. In other words, it tries to
    synchronize the 'enabled' state of the local widget with the actual
    state of the remote display.

OR

 B. It tries to actively enable a currently-disabled display (or vice
    versa) due to some action by the user in the client application.
    This causes the client to send a new configuration down to the
    server. In other words, it tries to change the state of the remote
    display.

There is some conflict between these two scenarios. If the change is due
to a notification from the server, there is no need to send a new
configuration back down to the server, so this results in unnecessary
monitor configuration messages and can in fact cause issues that are a
little bit hard to track down. Because of this, I decided that it was
really necessary to have two separate functions for these two different
scenarios. so the existing _set_enabled() function will be used for
scenario A mentioned above. I added two new
functions (_enable() and _disable()) that are used to send new
configurations down to the server.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, there was a single function for controlling the enabled
state of a display: virt_viewer_display_set_enabled(). Unfortunately,
this function is used for two slightly different things:

 A. It informs the local display widget that the display has become
    disabled or enabled on the server. In other words, it tries to
    synchronize the 'enabled' state of the local widget with the actual
    state of the remote display.

OR

 B. It tries to actively enable a currently-disabled display (or vice
    versa) due to some action by the user in the client application.
    This causes the client to send a new configuration down to the
    server. In other words, it tries to change the state of the remote
    display.

There is some conflict between these two scenarios. If the change is due
to a notification from the server, there is no need to send a new
configuration back down to the server, so this results in unnecessary
monitor configuration messages and can in fact cause issues that are a
little bit hard to track down. Because of this, I decided that it was
really necessary to have two separate functions for these two different
scenarios. so the existing _set_enabled() function will be used for
scenario A mentioned above. I added two new
functions (_enable() and _disable()) that are used to send new
configurations down to the server.
</pre>
</div>
</content>
</entry>
<entry>
<title>Set enabled status of all displays when we get a monitor update</title>
<updated>2015-09-08T20:14:35+00:00</updated>
<author>
<name>Jonathon Jongsma</name>
<email>jjongsma@redhat.com</email>
</author>
<published>2015-07-17T14:16:10+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=344eb9a68595ee26627e27fe733ac7789fdbdbb1'/>
<id>344eb9a68595ee26627e27fe733ac7789fdbdbb1</id>
<content type='text'>
Previously, when we received a new monitors update from the server, we
only called virt_viewer_display_set_enabled() for the displays that were
enabled. We simply assumed that those that were not enabled were already
set to disabled. This assumption is currently valid, but I have some
changes in the pipeline where this is not true. This change ensures that
we update the enabled state of all monitors when we get an updated
monitors conifguration.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously, when we received a new monitors update from the server, we
only called virt_viewer_display_set_enabled() for the displays that were
enabled. We simply assumed that those that were not enabled were already
set to disabled. This assumption is currently valid, but I have some
changes in the pipeline where this is not true. This change ensures that
we update the enabled state of all monitors when we get an updated
monitors conifguration.
</pre>
</div>
</content>
</entry>
<entry>
<title>Don't emit 'monitor-geometry-changed' for disabled displays</title>
<updated>2015-09-08T20:14:35+00:00</updated>
<author>
<name>Jonathon Jongsma</name>
<email>jjongsma@redhat.com</email>
</author>
<published>2015-07-16T16:30:27+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=6413b645ffad03718608105b8245fc53f0229ffa'/>
<id>6413b645ffad03718608105b8245fc53f0229ffa</id>
<content type='text'>
When a display widget receives a new size allocation, we generally emit
a monitor-geometry-changed signal so that we can reconfigure the
displays. But if the widget for a *disabled* display is allocated,
there's no reason to send down a new configuration. We don't need to
emit this signal. This doesn't currently cause any problems, but I ran
into issues while testing some other uncommitted changes.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a display widget receives a new size allocation, we generally emit
a monitor-geometry-changed signal so that we can reconfigure the
displays. But if the widget for a *disabled* display is allocated,
there's no reason to send down a new configuration. We don't need to
emit this signal. This doesn't currently cause any problems, but I ran
into issues while testing some other uncommitted changes.
</pre>
</div>
</content>
</entry>
<entry>
<title>coverity: result is not floating-point</title>
<updated>2015-08-17T15:53:57+00:00</updated>
<author>
<name>Fabiano Fidêncio</name>
<email>fidencio@redhat.com</email>
</author>
<published>2015-08-13T11:16:36+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=5001f2b1b155f4279a3e942b9bbf97f9d489a90a'/>
<id>5001f2b1b155f4279a3e942b9bbf97f9d489a90a</id>
<content type='text'>
Coverity says:
Result is not floating-point (UNINTENDED_INTEGER_DIVISION)
interger_division: Dividing integer expressions "preferred-&gt;width * 100"
and "zoom", and then converting the integer quotient to type double. Any
remainder, or fractional part of the quotient, is ignored.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Coverity says:
Result is not floating-point (UNINTENDED_INTEGER_DIVISION)
interger_division: Dividing integer expressions "preferred-&gt;width * 100"
and "zoom", and then converting the integer quotient to type double. Any
remainder, or fractional part of the quotient, is ignored.
</pre>
</div>
</content>
</entry>
<entry>
<title>coverity: Copy into fixed sized buffer</title>
<updated>2015-08-13T13:20:22+00:00</updated>
<author>
<name>Fabiano Fidêncio</name>
<email>fidencio@redhat.com</email>
</author>
<published>2015-08-13T11:20:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=1782fdd0503453ea39812cb5f79e6de0248c4afc'/>
<id>1782fdd0503453ea39812cb5f79e6de0248c4afc</id>
<content type='text'>
Coverity says:
You might overrun the 108 byte fixed-size string "addr.sun_path" by
copying "unixsock" without checking the lenght.
Note: This detect has an elevated risk because the source argument is a
paramenter of the current function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Coverity says:
You might overrun the 108 byte fixed-size string "addr.sun_path" by
copying "unixsock" without checking the lenght.
Note: This detect has an elevated risk because the source argument is a
paramenter of the current function.
</pre>
</div>
</content>
</entry>
<entry>
<title>session-spice: Use display id instead of monitor id in debug log</title>
<updated>2015-07-29T20:50:06+00:00</updated>
<author>
<name>Pavel Grunt</name>
<email>pgrunt@redhat.com</email>
</author>
<published>2015-07-29T12:50:17+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=39b0ce009ee5b7a335e5c6690617c6f3dc037615'/>
<id>39b0ce009ee5b7a335e5c6690617c6f3dc037615</id>
<content type='text'>
Windows guests have monitor id = 0, so the debug log is always the same:
"creating spice display (#:0)" for all the displays.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows guests have monitor id = 0, so the debug log is always the same:
"creating spice display (#:0)" for all the displays.
</pre>
</div>
</content>
</entry>
<entry>
<title>virt-viewer-window: Change zoom with respect to real zoom</title>
<updated>2015-07-29T15:10:35+00:00</updated>
<author>
<name>Pavel Grunt</name>
<email>pgrunt@redhat.com</email>
</author>
<published>2015-05-26T12:49:56+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/fidencio/public_git/virt-viewer.git/commit/?id=0d81ec2ef8a69fbe93de15d6125ae40d3b2bd7be'/>
<id>0d81ec2ef8a69fbe93de15d6125ae40d3b2bd7be</id>
<content type='text'>
The zoom can be changed by resizing the window (VNC / Spice without
the agent). It is necessary to recalculate the zoom level before
changing it, otherwise zoom operations will not work correctly.

Resolves:
https://bugs.freedesktop.org/show_bug.cgi?id=90582
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The zoom can be changed by resizing the window (VNC / Spice without
the agent). It is necessary to recalculate the zoom level before
changing it, otherwise zoom operations will not work correctly.

Resolves:
https://bugs.freedesktop.org/show_bug.cgi?id=90582
</pre>
</div>
</content>
</entry>
</feed>
