platform/upstream/glib.git
10 years agoUpdated reference to README.commits
Ihar Hrachyshka [Sat, 12 Oct 2013 12:43:16 +0000 (16:43 +0400)]
Updated reference to README.commits

The major useful information regarding commits is now placed in
README.commits, not README.

https://bugzilla.gnome.org/show_bug.cgi?id=709994

10 years agoUpdated Indonesian translation
Andika Triwidada [Tue, 15 Oct 2013 04:54:59 +0000 (11:54 +0700)]
Updated Indonesian translation

10 years agoAdd testcase for search utilities functions
Xavier Claessens [Wed, 9 Oct 2013 18:32:58 +0000 (14:32 -0400)]
Add testcase for search utilities functions

https://bugzilla.gnome.org/show_bug.cgi?id=709753

10 years agoAdd simple string "search" function
Ryan Lortie [Mon, 14 Oct 2013 18:37:10 +0000 (14:37 -0400)]
Add simple string "search" function

Add a pair of functions to make it easier to do simple string matching.

This will be useful for use with things like GtkSearchBar and will also
be the basis of the searching done by the (soon to appear)
g_desktop_app_info_search()

https://bugzilla.gnome.org/show_bug.cgi?id=709753

10 years agoAdd g_str_is_ascii()
Ryan Lortie [Mon, 14 Oct 2013 18:36:34 +0000 (14:36 -0400)]
Add g_str_is_ascii()

Add a function for checking if a string is pure ASCII.

https://bugzilla.gnome.org/show_bug.cgi?id=709753

10 years agogmain: mark newest id used when source id overflows
Noah Massey [Sun, 13 Oct 2013 14:25:39 +0000 (10:25 -0400)]
gmain: mark newest id used when source id overflows

When the source id reaches G_MAXUINT (just prior to overflow), we
record the existing source ids to prevent reassigning them.  As we are
about to assign G_MAXUINT to the triggering source, that id should be
added as well.

https://bugzilla.gnome.org/show_bug.cgi?id=710002

10 years agoGMemoryOutputStream: Don't return -1 as a gboolean in precondition
Colin Walters [Tue, 8 Oct 2013 16:17:16 +0000 (12:17 -0400)]
GMemoryOutputStream: Don't return -1 as a gboolean in precondition

Since it could confuse callers (admittedly who are already violating
a precondition).

Just spotted while adapting some bits of this code for a ssh library.

10 years agoAssamese translation updated
Nilamdyuti Goswami [Mon, 7 Oct 2013 07:26:28 +0000 (12:56 +0530)]
Assamese translation updated

10 years agoFix overloading of "source" and "target" terminology in GBinding
Dan Winship [Fri, 4 Oct 2013 16:58:48 +0000 (12:58 -0400)]
Fix overloading of "source" and "target" terminology in GBinding

GBindingTransformFunc called its arguments "source_value" and
"target_value", but in the transform_from function of a bidirectional
binding, "source_value" comes from the target object, and
"target_value" comes from the source object, which quickly gets
confusing if you need to use g_binding_get_source(), etc, in the
function.

Of course developers can call their transform function arguments
whatever they want, but many will copy from the headers/docs to start
out, so use less confusing names here ("from_value" and "to_value").

Also, fix the documentation to describe the bidirectional case
correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=709440

10 years agoxdgmime: Fix an invalid read
Kalev Lember [Sat, 21 Sep 2013 11:52:09 +0000 (13:52 +0200)]
xdgmime: Fix an invalid read

This commit factors out a function for comparing string suffixes, and at
the same time makes it safe for mime types that are shorter than the
"/*" suffix.

==25418== Invalid read of size 1
==25418==    at 0x3C6D0F9D22: __gio_xdg_cache_mime_type_subclass (xdgmimecache.c:848)
==25418==    by 0x3C6D09ED8C: g_content_type_is_a (gcontenttype.c:158)
==25418==    by 0x34D8031E95: gtk_recent_filter_filter (gtkrecentfilter.c:733)
==25418==    by 0x34D802F167: _gtk_recent_chooser_get_items (gtkrecentchooserutils.c:387)
==25418==    by 0x34D802D07F: idle_populate_func (gtkrecentchoosermenu.c:1011)
==25418==    by 0x34D7A20477: gdk_threads_dispatch (gdk.c:804)
==25418==    by 0x3C6C0492F5: g_main_context_dispatch (gmain.c:3065)
==25418==    by 0x3C6C049677: g_main_context_iterate.isra.23 (gmain.c:3712)
==25418==    by 0x3C6C04972B: g_main_context_iteration (gmain.c:3773)
==25418==    by 0x34D7FC2AF4: gtk_main_iteration (gtkmain.c:1262)
==25418==    by 0x408EB4: main (in /usr/bin/glade)

https://bugzilla.gnome.org/show_bug.cgi?id=708529

10 years agoRestore gl_GLIBC21 to configure; needed for libcharset
John Ralls [Fri, 4 Oct 2013 18:45:47 +0000 (11:45 -0700)]
Restore gl_GLIBC21 to configure; needed for libcharset

10 years agoappinfo: Don't try DBusActivatable with load_from_keyfile
Ryan Lortie [Thu, 3 Oct 2013 14:02:08 +0000 (10:02 -0400)]
appinfo: Don't try DBusActivatable with load_from_keyfile

We can't get the name of the filename, so we can't determine the application
ID.  We'll have to fallback on Exec= for this case.

https://bugzilla.gnome.org/show_bug.cgi?id=709326

10 years agoAdd g_key_file_save_to_file()
Ryan Lortie [Thu, 3 Oct 2013 16:39:53 +0000 (12:39 -0400)]
Add g_key_file_save_to_file()

To write a keyfile to disk.

https://bugzilla.gnome.org/show_bug.cgi?id=309224

10 years agogcredentials: add Solaris support
Dan Winship [Thu, 19 Sep 2013 20:09:38 +0000 (16:09 -0400)]
gcredentials: add Solaris support

Based on patches from Igor Pashev.

https://bugzilla.gnome.org/show_bug.cgi?id=705029

10 years agogcredentials: add Hurd support
Dan Winship [Thu, 19 Sep 2013 16:56:56 +0000 (12:56 -0400)]
gcredentials: add Hurd support

It uses the same system as FreeBSD.

https://bugzilla.gnome.org/show_bug.cgi?id=708265

10 years agogcredentials: add internal macros to simplify all the #ifdefs
Dan Winship [Wed, 18 Sep 2013 17:40:09 +0000 (13:40 -0400)]
gcredentials: add internal macros to simplify all the #ifdefs

Rather than having lots of obscure platform-based #ifdefs all over
gio, define some macros in gcredentialsprivate.h, and use those to
simplify the rest of the code.

https://bugzilla.gnome.org/show_bug.cgi?id=701482

10 years agoGDBusProxy: add flag to control autostarting at construction time
Giovanni Campagna [Thu, 3 Oct 2013 18:26:18 +0000 (20:26 +0200)]
GDBusProxy: add flag to control autostarting at construction time

Sometimes the application doesn't want to autostart a service
when it creates a proxy, but wants the service autostarted when
it makes the first method call. Allow that behavior with a new
flag.

https://bugzilla.gnome.org/show_bug.cgi?id=708828

10 years agogdesktopappinfo: Large-scale whitespace fixup
Ryan Lortie [Sat, 27 Jul 2013 19:08:58 +0000 (15:08 -0400)]
gdesktopappinfo: Large-scale whitespace fixup

Fix up a lot of whitespace issues in this file since we're about to do
some pretty serious rewriting here anyway...

Add some fold markers while we're at it.

10 years agogdesktopappinfo: rework search path
Ryan Lortie [Wed, 24 Jul 2013 21:48:37 +0000 (17:48 -0400)]
gdesktopappinfo: rework search path

Change the search path to be a global array of 'DesktopFileDir' structures and
change the 'get' function to an 'ensure' function.

This is just a straight-up refactor.  Future patches will expand the
DesktopFileDir structure.

10 years agogdesktopappinfo: remove global_defaults_cache
Ryan Lortie [Wed, 24 Jul 2013 21:28:43 +0000 (17:28 -0400)]
gdesktopappinfo: remove global_defaults_cache

...and some related functions.

This variable is also used for nothing at all.

10 years agogdesktopappinfo: remove should_ping_mime_monitor
Ryan Lortie [Wed, 24 Jul 2013 21:26:45 +0000 (17:26 -0400)]
gdesktopappinfo: remove should_ping_mime_monitor

This variable is used for nothing...

10 years agoglocalfile: add private worker monitor APIs
Ryan Lortie [Thu, 25 Jul 2013 18:05:36 +0000 (14:05 -0400)]
glocalfile: add private worker monitor APIs

Add a convenient and race-free method of watching local files from the
GLib worker thread.

Without this, the race-free way to create a monitor that dispatches
events to the worker thread looked something like this:

 - dispatch an idle to the worker thread
 - from the idle, create the monitor and connect signals
 - from the original thread, wait (on a cond?) until the worker thread
   has finished setting up the monitor
 - read the file that you were monitoring

which is just ridiculously complicated...

To use the new API:

  monitor = g_local_file_monitor_new_in_worker ("/path/to/some/file",
                                                G_FILE_MONITOR_NONE,
                                                &error);
  g_assert_no_error (error);

  g_signal_connect (monitor, "changed", G_CALLBACK (callback), NULL);

  g_local_file_monitor_start (monitor);

'callback' will run from the GLib worker thread.

This is the reason that the start() call was introduced in the previous
commit.  The backends that don't use the start() call will have a very
thin race between creating the monitor and connecting the signal, but
hopefully they will be fixed soon.

These new APIs will be used (at least) from gdesktopappinfo to watch for
changes in the desktop file directories.

https://bugzilla.gnome.org/show_bug.cgi?id=704887

10 years agoGFileMonitor: support specifying a context
Ryan Lortie [Thu, 25 Jul 2013 18:17:09 +0000 (14:17 -0400)]
GFileMonitor: support specifying a context

Add a new "context" construct-only property to allow explicitly
specifying the context in which events should be dispatched.

https://bugzilla.gnome.org/show_bug.cgi?id=704887

10 years agoinotify: stop using constructor()
Ryan Lortie [Thu, 25 Jul 2013 17:48:50 +0000 (13:48 -0400)]
inotify: stop using constructor()

and start using the new start() vcall on the local monitor classes.

I only port inotify because I am uncomfortable making changes to the
other monitor backends without having a way of testing them.

https://bugzilla.gnome.org/show_bug.cgi?id=704887

10 years agolocal monitors: make more idiomatic use of GObject
Ryan Lortie [Thu, 25 Jul 2013 17:29:16 +0000 (13:29 -0400)]
local monitors: make more idiomatic use of GObject

Stop abusing constructor() to do startup work, adding _start() calls
instead.

The backends themselves still use constructor() although a patch will be
following to also fix inotify.

The reason for using a separate start() call instead of constructed()
will become apparent in future commits.

https://bugzilla.gnome.org/show_bug.cgi?id=704887

10 years agodirectory monitor: use the right 'mount_notify'
Ryan Lortie [Thu, 25 Jul 2013 17:19:56 +0000 (13:19 -0400)]
directory monitor: use the right 'mount_notify'

During initialisation of a directory monitor with the
G_FILE_MONITOR_WATCH_MOUNTS flag set, GLocalDirectory monitor will add a
UNIX mount watch in case the file notification backend doesn't support
reporting these events for itself.

Unfortunately, it was performing the check incorrectly, resulting in a
monitor always being added.

Fix that, and add the #define for G_LOCAL_DIRECTORY_MONITOR_GET_CLASS()
that was also missing (since the fix depends on it).

https://bugzilla.gnome.org/show_bug.cgi?id=704882

10 years agogoutputstream: Add clear warning about short writes to _write_bytes() and async version
Colin Walters [Wed, 2 Oct 2013 14:32:03 +0000 (10:32 -0400)]
goutputstream: Add clear warning about short writes to _write_bytes() and async version

Matthew Barnes noted this on IRC a few days ago.  I just had this file
open for other reasons and decided to tweak the docs to make this trap
more clear.

https://bugzilla.gnome.org/show_bug.cgi?id=709301

10 years agog_settings_list_children: only list viable schemas
Ryan Lortie [Thu, 8 Aug 2013 16:50:21 +0000 (18:50 +0200)]
g_settings_list_children: only list viable schemas

Don't return children with invalid schemas from
g_settings_list_children() (ie: missing schemas or mismatched paths).
This prevents gsettings list-recursively from crashing when broken
schemas are installed on the system.

https://bugzilla.gnome.org/show_bug.cgi?id=705688

10 years agounicode: Update to unicode 6.3.0
Christian Persch [Tue, 1 Oct 2013 13:40:43 +0000 (15:40 +0200)]
unicode: Update to unicode 6.3.0

No new blocks were added in 6.3, and only 5 new characters to be used
with the updated BiDi algorithm. And some character properties were changed.

See http://www.unicode.org/versions/Unicode6.3.0/ for more information.

https://bugzilla.gnome.org/show_bug.cgi?id=709227

10 years agoFix crashes in various GParamSpec creation functions
Simon Feltman [Tue, 1 Oct 2013 10:38:24 +0000 (03:38 -0700)]
Fix crashes in various GParamSpec creation functions

Add NULL check and return after calls to g_param_spec_internal in GParamSpec
creation functions. This avoids glib crashing due to things like badly named
properties.

https://bugzilla.gnome.org/show_bug.cgi?id=707887

10 years agoAdd missing string.h include
Michael Forney [Tue, 1 Oct 2013 12:19:55 +0000 (05:19 -0700)]
Add missing string.h include

Required for memset()

10 years agoFix a careless mistake in the last commit
Ryan Lortie [Mon, 30 Sep 2013 17:06:30 +0000 (13:06 -0400)]
Fix a careless mistake in the last commit

Thanks Colin :)

10 years agogmain: Remove dispatching source stack
Ryan Lortie [Wed, 12 Jun 2013 18:57:09 +0000 (14:57 -0400)]
gmain: Remove dispatching source stack

This stack exists only to answer the question of "what is the currently
dispatching source" and is handled in a way that makes it very clear
that we don't need to be using a linked list at all...

Just store the GSource directly.

Independently discovered (and same solution) by Phillip Susi.

https://bugzilla.gnome.org/show_bug.cgi?id=709113

10 years agoGOutputStream: Use async read/write of streams in splice_async()
Mike Ruprecht [Mon, 18 Feb 2013 14:12:50 +0000 (08:12 -0600)]
GOutputStream: Use async read/write of streams in splice_async()

There are some corner cases where using the sync version of read/write
in a thread could cause thread-safety issues. In these cases it's
possible to override the output stream's splice_async() function,
but for input streams one would need to do some acrobatics to
stay thread-safe. Alternatively, some implementations may not even
override their sync read/write functions.

This patch refactors the default splice_async() implementation to
call the sync read and write functions in a thread only when both
async versions are thread-based. When one or both are non-threaded,
it calls the virtual write_async() and read_async() functions of the
involved streams within the same thread.

https://bugzilla.gnome.org/show_bug.cgi?id=691581

10 years agoGOutputStream: Split _close_async for internal use
Mike Ruprecht [Mon, 18 Feb 2013 13:58:58 +0000 (07:58 -0600)]
GOutputStream: Split _close_async for internal use

Refactor g_output_stream_close_async() into itself and an internal
variant for potential use inside other operations (splice_async).
The internal version must be called between
g_output_stream_set_pending() and g_output_stream_clear_pending().

https://bugzilla.gnome.org/show_bug.cgi?id=691581

10 years agoGOutputStream: Rename _g_output_stream_close_internal() for consistency
Mike Ruprecht [Sun, 24 Feb 2013 15:09:05 +0000 (09:09 -0600)]
GOutputStream: Rename _g_output_stream_close_internal() for consistency

https://bugzilla.gnome.org/show_bug.cgi?id=691581

10 years agotests: Add testcases for g_output_stream_splice_async()
Mike Ruprecht [Sat, 23 Feb 2013 21:13:53 +0000 (15:13 -0600)]
tests: Add testcases for g_output_stream_splice_async()

Previously, no testcases tested the close flags of
g_output_stream_splice_async. This patch adds tests for that and
also tests various combinations of threaded and non-threaded
GInputStream async reads and GOutputStream async writes.

https://bugzilla.gnome.org/show_bug.cgi?id=691581

10 years agoGOutputStream: Add g_output_stream_async_write_is_via_threads()
Mike Ruprecht [Sat, 23 Feb 2013 23:42:49 +0000 (17:42 -0600)]
GOutputStream: Add g_output_stream_async_write_is_via_threads()

In implementing a better g_output_stream_splice_async() and possibly
other situtations it's helpful to know whether the output stream's
write function internally uses threads. If it and the input stream's
read async functions use threads, then the splice function could
spawn a single thread for better efficiency.

This patch adds a function to determine whether an output stream's
g_output_stream_write_async() function internally uses threads.

https://bugzilla.gnome.org/show_bug.cgi?id=691581

10 years agoGInputStream: Add g_input_stream_async_read_is_via_threads()
Mike Ruprecht [Sat, 23 Feb 2013 23:32:31 +0000 (17:32 -0600)]
GInputStream: Add g_input_stream_async_read_is_via_threads()

In implementing a better g_output_stream_splice_async() and possibly
other situtations it's helpful to know whether the input stream's
read function internally uses threads. If it and the output stream's
write async functions use threads, then the splice function could
spawn a single thread for better efficiency.

This patch adds a function to determine whether an input stream's
g_input_stream_read_async() function internally uses threads.

https://bugzilla.gnome.org/show_bug.cgi?id=691581

10 years agoFix the -Werror=format-nonliteral fixes for older GCCs
John Ralls [Sun, 29 Sep 2013 18:33:30 +0000 (11:33 -0700)]
Fix the -Werror=format-nonliteral fixes for older GCCs

They don't allow that pragma inside functions.

10 years agoMore -Werror=format-nonliteral fixes
John Ralls [Sat, 28 Sep 2013 23:44:32 +0000 (16:44 -0700)]
More -Werror=format-nonliteral fixes

This fixes the build with CLang.

https://bugzilla.gnome.org/show_bug.cgi?id=702516

10 years agogfileutils: Make -Werror=format-nonliteral happy
Colin Walters [Mon, 17 Jun 2013 21:49:12 +0000 (17:49 -0400)]
gfileutils: Make -Werror=format-nonliteral happy

I tried to please it by using G_GNUC_FORMAT, but that didn't work, so
let's just fall back to pushing an ignore.

https://bugzilla.gnome.org/show_bug.cgi?id=702516

10 years agogmessages: fix clang annotations to work with older versions
Dan Winship [Sat, 28 Sep 2013 16:31:52 +0000 (12:31 -0400)]
gmessages: fix clang annotations to work with older versions

https://bugzilla.gnome.org/show_bug.cgi?id=708793

10 years agogio: make gnetworking.h nodist
Dan Winship [Sat, 28 Sep 2013 16:18:14 +0000 (12:18 -0400)]
gio: make gnetworking.h nodist

https://bugzilla.gnome.org/show_bug.cgi?id=708972

10 years ago.gitignore: add "signals"
Dan Winship [Sat, 28 Sep 2013 14:39:01 +0000 (10:39 -0400)]
.gitignore: add "signals"

10 years agoOnly use SA_RESTART if it exists
Patrick Welche [Fri, 27 Sep 2013 09:09:32 +0000 (10:09 +0100)]
Only use SA_RESTART if it exists

Fixes build on QNX (and possibly HPUX given Bug 168352)
Patch essentially from pkgsrc devel/glib2/patches/patch-ai

https://bugzilla.gnome.org/show_bug.cgi?id=583321

10 years agogdesktopappinfo: Call g_file_get_path() on demand
Bastien Nocera [Wed, 25 Sep 2013 14:14:17 +0000 (16:14 +0200)]
gdesktopappinfo: Call g_file_get_path() on demand

Rather than always calling out to g_file_get_path() (which
might block, whatever the documentation might say), postpone
the call until we actually need it.

https://bugzilla.gnome.org/show_bug.cgi?id=708753

10 years agogio: Fix documentation for GSocketControlMessage that refers to a 'file description...
Robert Ancell [Fri, 27 Sep 2013 02:52:51 +0000 (14:52 +1200)]
gio: Fix documentation for GSocketControlMessage that refers to a 'file description' instead of a 'file descriptor'

10 years agogio: Fix -Werror format string errors from mismatched ints.
Jan Schmidt [Wed, 25 Sep 2013 09:22:26 +0000 (19:22 +1000)]
gio: Fix -Werror format string errors from mismatched ints.

10 years agoglocalfile: Only use O_DIRECTORY if available
William Orr [Thu, 26 Sep 2013 18:02:06 +0000 (11:02 -0700)]
glocalfile: Only use O_DIRECTORY if available

Solaris 10 for example doesn't have it.

https://bugzilla.gnome.org/show_bug.cgi?id=708860

10 years agoUpdated Russian translation
Yuri Myasoedov [Wed, 25 Sep 2013 19:11:08 +0000 (23:11 +0400)]
Updated Russian translation

10 years agoFix typo in GLIB_VERSION_2_40 docs.
Krzesimir Nowak [Wed, 25 Sep 2013 07:39:20 +0000 (09:39 +0200)]
Fix typo in GLIB_VERSION_2_40 docs.

https://bugzilla.gnome.org/show_bug.cgi?id=708714

10 years agoTamil Translations Updated
Shantha kumar [Wed, 25 Sep 2013 06:58:53 +0000 (12:28 +0530)]
Tamil Translations Updated

10 years agogio: Fix typo in the /org/freedesktop/DBus path
James Strandboge [Tue, 24 Sep 2013 12:19:20 +0000 (13:19 +0100)]
gio: Fix typo in the /org/freedesktop/DBus path

https://bugzilla.gnome.org/show_bug.cgi?id=708677

10 years agogio/gsocket.c: Fix error code checks when SOCK_CLOEXEC is defined but
Svante Signell [Wed, 18 Sep 2013 14:39:09 +0000 (16:39 +0200)]
gio/gsocket.c: Fix error code checks when SOCK_CLOEXEC is defined but
not supported on GNU/Hurd.

https://bugzilla.gnome.org/show_bug.cgi?id=708266

10 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Tue, 24 Sep 2013 11:01:24 +0000 (19:01 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

10 years agoBump version to 2.39.0
Ryan Lortie [Mon, 23 Sep 2013 21:47:49 +0000 (17:47 -0400)]
Bump version to 2.39.0

10 years agoIntroduce version macros for 2.40
Ryan Lortie [Mon, 23 Sep 2013 21:46:58 +0000 (17:46 -0400)]
Introduce version macros for 2.40

10 years agoGLib 2.38.0 2.38.0
Ryan Lortie [Mon, 23 Sep 2013 20:14:57 +0000 (16:14 -0400)]
GLib 2.38.0

10 years agofix up refcount/properties test case
Ryan Lortie [Mon, 23 Sep 2013 21:04:53 +0000 (17:04 -0400)]
fix up refcount/properties test case

Recent changes to the properties testcase made invalid use of the GArray
free function.  This free function takes a pointer to the item to be
freed, not the item itself.  Since that item was a pointer to a GObject,
g_object_unref() was getting a GObject**, rather than a GObject*.

The use of GArray in this testcase is pretty questionable in the first
place, so just use C arrays instead.

10 years agogio docs: add some missing functions
Ryan Lortie [Mon, 23 Sep 2013 20:38:49 +0000 (16:38 -0400)]
gio docs: add some missing functions

10 years agoMore gio-du win32 fixes
Ryan Lortie [Mon, 23 Sep 2013 20:29:24 +0000 (16:29 -0400)]
More gio-du win32 fixes

Don't free the utf8 filename before the async function completes.

also, gitignore

10 years agoRevert "gcancellable: allow g_cancellable_disconnect from "cancelled" handler on...
Ryan Lortie [Mon, 23 Sep 2013 20:15:34 +0000 (16:15 -0400)]
Revert "gcancellable: allow g_cancellable_disconnect from "cancelled" handler on same thread"

This reverts commits 83605e2d0a7b0d39987715cfd046f7b8ef6de94e and
140fa7ee4669adb3827e3ddea5be57f51ee7af3e.

10 years agocancellable: Minor fix to docs
Alexander Larsson [Mon, 23 Sep 2013 07:11:04 +0000 (09:11 +0200)]
cancellable: Minor fix to docs

The code uses "my_data", not "data" everywhere else.

10 years agogcancellable: allow g_cancellable_disconnect from "cancelled" handler on same thread
Ray Strode [Tue, 10 Sep 2013 19:32:12 +0000 (15:32 -0400)]
gcancellable: allow g_cancellable_disconnect from "cancelled" handler on same thread

g_cancellable_disconnect will wait until any pending "cancelled"
handlers finish.  This is useful because disconnecting a handler can have the
side-effect of freeing data that the cancelled handler may rely on.
Unfortunately, the code used to enforce this synchronization between
"cancelled" handlers and g_cancellable_disconnect will also cause
deadlock if the cancelled handler itself calls g_cancellable_disconect.

Obviously, if g_cancellable_disconnect is explicitly called by a "cancelled"
handler, then the "cancelled" handler is shouldering the responsibility
of not using any data that may be freed by disconnection.

Also, g_cancellable_disconnect can be called in unexpected places by
lower layers in the code (for instance as a result of g_source_destroy).
In practice, this means it's easy for deadlocks to inadvertently crop
up when using "cancelled" handlers.

For these reasons, it would be good to fix the deadlock.

This commit prevents the deadlock by allowing foregoing synchronization,
if a pending "cancelled" handler is in the same thread as the
g_cancellabale_disconnnect call.

https://bugzilla.gnome.org/show_bug.cgi?id=705395

10 years agoUpdated Portuguese translation
Duarte Loreto [Sun, 22 Sep 2013 23:16:05 +0000 (00:16 +0100)]
Updated Portuguese translation

10 years agoUpdated French translation
Claude Paroz [Sun, 22 Sep 2013 18:01:57 +0000 (20:01 +0200)]
Updated French translation

10 years agotests: add signal disconnection test
Ray Strode [Fri, 20 Sep 2013 19:20:39 +0000 (15:20 -0400)]
tests: add signal disconnection test

This commit adds a test to ensure that during a signal emission, if
a signal handler gets disconnected, it won't be run, even if it would
have run before the disconnection.

10 years agotests: free properties test object from main thread instead of helper thread
Ray Strode [Fri, 20 Sep 2013 19:41:29 +0000 (15:41 -0400)]
tests: free properties test object from main thread instead of helper thread

The test objects are used from the main thread after the helper threads
are destroyed, so we need to keep them alive until we're done using them.

10 years agodocs: fix GSourceFuncs docs
Dieter Verfaillie [Fri, 20 Sep 2013 19:07:28 +0000 (21:07 +0200)]
docs: fix GSourceFuncs docs

"returns" at the start of a description continuation
line seems to confuse GTK-Doc's parser. Rearrange
the text a bit to work around this...

https://bugzilla.gnome.org/show_bug.cgi?id=708445

10 years agogsettings: Correct a GLIB_AVAILABLE_IN_*
Murray Cumming [Fri, 20 Sep 2013 07:27:53 +0000 (09:27 +0200)]
gsettings: Correct a GLIB_AVAILABLE_IN_*

10 years agogobject: Fix compilation on OS X/ppc64
Misty De Meo [Thu, 19 Sep 2013 06:41:22 +0000 (23:41 -0700)]
gobject: Fix compilation on OS X/ppc64

Apple's GCC compilers cannot deal well with 64-bit pointers in
transparent unions on ppc64, so compilation of
_G_DEFINE_BOXED_TYPE_BEGIN was failing. Fortunately glib already
provides a fallback for compilers that can't deal with it; this adds
this specific case to the check.

https://bugzilla.gnome.org/show_bug.cgi?id=647145

10 years agoPunjabi Translation updated by Aman
A S Alam [Wed, 18 Sep 2013 13:49:53 +0000 (08:49 -0500)]
Punjabi Translation updated by Aman

10 years agoUpdated Danish translation
Ask H. Larsen [Tue, 17 Sep 2013 16:28:19 +0000 (18:28 +0200)]
Updated Danish translation

10 years agoGLib 2.37.93 2.37.93
Ryan Lortie [Tue, 17 Sep 2013 15:39:56 +0000 (11:39 -0400)]
GLib 2.37.93

10 years agomeasure_disk_usage: properly report results
Ryan Lortie [Tue, 17 Sep 2013 13:53:18 +0000 (09:53 -0400)]
measure_disk_usage: properly report results

In the async case, make sure we copy all of the out parameters from the
results structure, not just 'disk_usage'.

10 years agomeasure_disk_usage: skip progress on NULL callback
Ryan Lortie [Tue, 17 Sep 2013 13:40:04 +0000 (09:40 -0400)]
measure_disk_usage: skip progress on NULL callback

In the real_..._async wrapper for GFile.measure_disk_usage, skip the
wrapping of the progress callback in the case that the user gave a NULL
callback to the async function.  This is a performance improvement
because the sync version won't have to do continuous sampling of the
clock to issue a call to the wrapper which will then do nothing.

Unfortunately, I made this simplifying assumption when writing the
wrapper, but forgot to actually implement it when making the sync call.
As a result, the wrapper is still called, and invokes the NULL callback,
causing a segfault.

Make sure we pass NULL if the user's callback was NULL.

https://bugzilla.gnome.org/show_bug.cgi?id=707787

10 years agoUpdated Traditional Chinese translation(Hong Kong and Taiwan)
Chao-Hsiung Liao [Tue, 17 Sep 2013 11:35:13 +0000 (19:35 +0800)]
Updated Traditional Chinese translation(Hong Kong and Taiwan)

10 years agobump
Ryan Lortie [Mon, 16 Sep 2013 18:14:07 +0000 (14:14 -0400)]
bump

10 years agoGLib 2.37.92 2.37.92
Ryan Lortie [Mon, 16 Sep 2013 17:47:04 +0000 (13:47 -0400)]
GLib 2.37.92

10 years agogio-du: show the correct filename in progress
Ryan Lortie [Mon, 16 Sep 2013 17:42:02 +0000 (13:42 -0400)]
gio-du: show the correct filename in progress

We were showing argv[1] in the progress output before, which is not
always the filename.

10 years agogio-du: Improve test program on Windows
Chun-wei Fan [Fri, 13 Sep 2013 09:42:44 +0000 (17:42 +0800)]
gio-du: Improve test program on Windows

Make use of __wgetmainargs() on Windows so that we can get wide char
versions of the argv's that are passed in when this test program is being
invoked.  This is necessary as one might enter non-ASCII, such as
CJK characters filenames and/or directories to run the test program
against, so that we can process the name(s) and pass the proper
UTF-8-encoded name(s) of the files/directories that is being tested.

https://bugzilla.gnome.org/show_bug.cgi?id=707787

10 years agoGLocalFile: use GDir for g_file_measure_disk_usage
Ryan Lortie [Thu, 12 Sep 2013 15:44:11 +0000 (11:44 -0400)]
GLocalFile: use GDir for g_file_measure_disk_usage

It turns out that although dirent is available on mingw32 (where the
code was originally tested), it is not usable from MSVC.

Avoid portability problems by just using GDir.

Also, be careful about ensuring that we utf8-format filenames in our
error messages, and leave out the "file://" component since the strings
we're displaying are not URIs (and we don't want to make them URIs since
the extra escaping would reduce legibility).

Thanks to Chun-wei Fan <fanchunwei@src.gnome.org> for portions of this
patch and for reviews.

https://bugzilla.gnome.org/show_bug.cgi?id=707787

10 years agoGDir: add some glib-private APIs
Ryan Lortie [Thu, 12 Sep 2013 09:00:29 +0000 (17:00 +0800)]
GDir: add some glib-private APIs

Add a simple UNIX-only API that is used to create a GDir object from a
DIR* that is aquired using opendir() or fdopendir().

This makes it possible to use GDir with openat(), which in turn will
allow use of GDir in the existing GLocalFile implementation of
g_file_measure_disk_usage(), avoiding the current MSVC compatibility
problems there.

Also add an API similar to g_dir_open(), but without the GError handling
(since we want to create a better error message from inside of
glocalfile.c).

Thanks to Chun-wei Fan <fanchunwei@src.gnome.org> for portions of this
patch and for reviews.

https://bugzilla.gnome.org/show_bug.cgi?id=707787

10 years agoUpdated German translation
Benjamin Steinwender [Mon, 16 Sep 2013 17:05:54 +0000 (19:05 +0200)]
Updated German translation

10 years agoUpdated Hungarian translation
Gabor Kelemen [Mon, 16 Sep 2013 11:07:12 +0000 (13:07 +0200)]
Updated Hungarian translation

10 years agoUpdated Korean translation
Changwoo Ryu [Sat, 14 Sep 2013 13:46:15 +0000 (22:46 +0900)]
Updated Korean translation

10 years agoUpdated Indonesian translation
Andika Triwidada [Sat, 14 Sep 2013 08:42:05 +0000 (15:42 +0700)]
Updated Indonesian translation

10 years ago[l10n] Update Catalan translation
Gil Forcada [Fri, 13 Sep 2013 22:06:21 +0000 (00:06 +0200)]
[l10n] Update Catalan translation

10 years agogmodule: Two minor g-i annotations fixes
Rico Tzschichholz [Fri, 13 Sep 2013 19:16:14 +0000 (21:16 +0200)]
gmodule: Two minor g-i annotations fixes

10 years agoAssamese Translation Updated
Nilamdyuti Goswami [Fri, 13 Sep 2013 12:55:03 +0000 (18:25 +0530)]
Assamese Translation Updated

10 years agogio/tests/gio-du.c: Avoid Using Unintialized Variable
Chun-wei Fan [Mon, 9 Sep 2013 16:49:39 +0000 (00:49 +0800)]
gio/tests/gio-du.c: Avoid Using Unintialized Variable

https://bugzilla.gnome.org/show_bug.cgi?id=707787

10 years agoUpdated Lithuanian translation
Aurimas Černius [Thu, 12 Sep 2013 20:16:04 +0000 (23:16 +0300)]
Updated Lithuanian translation

10 years agotests: remove assertion for '!uncertain' on .txt
Ryan Lortie [Thu, 12 Sep 2013 18:38:08 +0000 (14:38 -0400)]
tests: remove assertion for '!uncertain' on .txt

Virtaal installs a mime package for various .po-like file formats, one
of which has the extension .txt.  This causes GLib to report ".txt"
files still as "text/plain" but no longer with complete certainty.

The result is that asserting !uncertain during the testsuite causes the
test to fail if Virtaal happens to be installed.

Remove this assertion.

10 years agotests: properly set locale to C
Ryan Lortie [Thu, 12 Sep 2013 18:22:56 +0000 (14:22 -0400)]
tests: properly set locale to C

We're testing for particular error messages, so we need to set to a C
locale to make sure we get the untranslated version.

Previously, this test set the LANG environment variable, but that's not
good enough if LANGUAGE is also set.  The only way to ensure that
LANGUAGE is ignored is to disable l10n with LC_ALL=C.

10 years agoUpdated Belarusian translation.
Ihar Hrachyshka [Thu, 12 Sep 2013 16:20:01 +0000 (19:20 +0300)]
Updated Belarusian translation.

10 years agoUpdated Latvian translation
Rūdolfs Mazurs [Wed, 11 Sep 2013 19:36:52 +0000 (22:36 +0300)]
Updated Latvian translation

10 years agoUpdated Czech translation
Marek Černocký [Tue, 10 Sep 2013 19:01:15 +0000 (21:01 +0200)]
Updated Czech translation

10 years agoUpdated Czech translation
Marek Černocký [Tue, 10 Sep 2013 19:00:16 +0000 (21:00 +0200)]
Updated Czech translation

10 years agoUpdated Galician translations
Fran Diéguez [Tue, 10 Sep 2013 13:53:23 +0000 (15:53 +0200)]
Updated Galician translations