Create the scrolled window with vertical scrolling turned off. Turn it
on when there are more than one items in the list.
Note that the immediate parent of the list is a GtkViewport, so we
need to explicitly look for the GtkScrolledWindow.
https://bugzilla.gnome.org/show_bug.cgi?id=745584
Every time we got the list of devices from the devices GtkListStore, we
were leaking the only element that wasn't a NetDevice, the proxy page.
Make sure to unref' it by hand if we're not going to add it to the list
(the elements of which will be unref'ed properly).
https://bugzilla.gnome.org/show_bug.cgi?id=746411
NetObjects and CcNetworkPanel aren't widgets, and hold references to
each other. Simplify things by having NetObject hold a pointer to
CcNetworkPanel (and the singletons NMRemoteSettings and NMClient)
instead, and clear their pointers when the original object is unref'ed.
https://bugzilla.gnome.org/show_bug.cgi?id=746411
When looking up a bar for a particular stream, special-case the input
and output bars/streams, as they will not be added to the "bars"
hashtable (which is, as per comment, only for applications and the sound
events bar).
https://bugzilla.gnome.org/show_bug.cgi?id=738869
This results in crashes when switching inputs or outputs, as other parts
of the code expect only application bars being added to that hashtable.
The bar was destroyed when switching outputs (as the stream is removed before
a new one being added) but with the bar pointing to freed memory.
This reverts commit 22fa7f1292.
https://bugzilla.gnome.org/show_bug.cgi?id=746227
This will fix the bar not showing up when we switch the default
orientation. When we changed the orientation, we went through
update_layout() which shows the frame at the end. _init() didn't do
that.
The airbrush tool has only one button, and the button mapping combo box
does not work.
We should not bail out if the widget has been removed, that means that
the stylus does not support the second button.
Check upfront the number of buttons to know if the top button parameter
is available.
https://bugzilla.gnome.org/show_bug.cgi?id=746263
We currently install two signal handlers for button-press-event and
selection-changed. As the former also calls the latter, the two interact
in non-obvious ways that can lead to two alerts being played at the same
time under certain circumstances.
Avoid this problem by setting activate-on-single-click on the tree view
and listening to the row-activated signal to drive previews and model
changes.
https://bugzilla.gnome.org/show_bug.cgi?id=671446
The language input chooser is being created and destroyed every time
it is opened and closed. This is noticeably slow and is hardly
necessary as the values it contains should not change.
To fix this, these changes reuse the same instance of the input chooser
(by hiding and showing it) instead of renewing it.
The input chooser is also now shown using gtk_dialog_run to avoid having
it destroyed from the default delete event.
These changes prevent warnings when unreferencing the default input
source, locale and back rows which are never instanced by some locales
(and thus null).
The language input chooser is being leaked. The reason for the leak
is a "circular reference": the input chooser keeps a GtkBuilder
instance that gets destroyed when the chooser is, itself, destroyed.
However, the input chooser is never destroyed because the GtkBuilder
instance keeps a reference to it.
These changes dismiss the GtkBuilder once it is no longer needed in the
input chooser which fixes the leak.