Make sure icon cache has /-separated subdirs only (v2 - use g_build_path)

https://bugzilla.gnome.org/show_bug.cgi?id=692955
(cherry picked from commit 8e80fd1ab9eb3c6389b0582eab21b637141e7f92)

Conflicts:
	gtk/updateiconcache.c
filechooserbutton: Don't ever use gtk_file_chooser_get_files()

The file chooser button only supports single-selection modes, so
switch the code to a simpler gtk_file_chooser_get_file() to avoid
dealing with GSLists of a single file.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
win32: fix possible memleak if GlobalAlloc() fails

Also remove the unused 'buf' variable.

https://bugzilla.gnome.org/show_bug.cgi?id=694742
immodule: Fix context ID lookup on module with multiple contexts

https://bugzilla.gnome.org/show_bug.cgi?id=690247
2.24.17
Bump version
Revert "entry: never use GTK_STATE_ACTIVE to paint the background"

This reverts commit 87115e00a81e9d6a2c4d18106af422765004fe2a.

https://bugzilla.gnome.org/show_bug.cgi?id=695003
quartz: Null check title before setting it

This avoids a crash in objective-c.

https://bugzilla.gnome.org/show_bug.cgi?id=695278
filechooser: Show FUSE mounted locations in shortcuts

Since FUSE locations can be handled safely by applications show these mounted locations regardless of whether gtk_file_chooser_set_local_only()
is set to TRUE

https://bugzilla.gnome.org/show_bug.cgi?id=586367
filechooser: Rename _gtk_file_is_path_not_local() to _gtk_file_has_native_path()

Negatives in names of boolean functions are confusing.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
filechooser: Also convert get_uris() to returning native paths

It was only being done in gtk_file_chooser_get_uri().

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
filechooser: Use _gtk_file_has_native_path() throughout when testing for local_only

In the case of checking for local_only, g_file_is_native() is not useful, since it
will return FALSE for something in a FUSE mount.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
Remove some unused variables
spinbutton: don't override initial text in non-numeric-only spin buttons

https://bugzilla.gnome.org/show_bug.cgi?id=695312
filechooserbutton: Test that the expected filename is shown

We do some gymnastics to pull the string out of the GtkButton or the GtkComboBox that is
being used in GtkFileChooserButton to show the current selection when the dialog
is inactive - namely, we look for the subwidget with the correct ATK role, and pull its
accessible name.

Currently the test fails; this is https://bugzilla.gnome.org/show_bug.cgi?id=691040#c18

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
filechooserbutton: Update the button/combo whenever the selection is changed programmatically

We didn't change it when the file chooser button's dialog was inactive, and so
the actual file chooser button would not visually reflect the current selection.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
filechooserbutton: Update the button/combo at construction time

This way the internal labels will show the correct selection even if nothing
has been selected programmatically.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
filechooserbutton: In SELECT_FOLDER, when the selection is empty, show (None) in the combo box

We do this by adding a new row type, ROW_TYPE_EMPTY_SELECTION.

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
filechooserbutton: Don't show the (None) item when the combo box is popped up

This is surprisingly tricky, since the (None) item *has* to be a visible item while
the combo box is *not* popped up, so that it can show its contents.  But the item
has to be *not* visible when the combo box is popped up.

Also, update the whole button's selection, not just the underlying dialog's, when
the combo box changes its selection - based on a patch by Paul Davis in
https://bugzilla.gnome.org/show_bug.cgi?id=691040#c20

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
filechooserbutton: Sync the tests a bit with the master branch

The tests fail right now in gtk-2-24 because accessibility is not available out of the box.