platform/upstream/glib.git
11 years agoAdd a testcase for DBusActivatable=true
Ryan Lortie [Sat, 8 Jun 2013 21:31:09 +0000 (17:31 -0400)]
Add a testcase for DBusActivatable=true

Add a fairly realistic testcase that ensures that GDesktopAppInfo with
DBusActivatable=true can successfully talk to GApplication for a variety
of purposes.

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

11 years agoUpdated POTFILES.in
Piotr Drąg [Thu, 11 Jul 2013 19:09:15 +0000 (21:09 +0200)]
Updated POTFILES.in

11 years agoDeal with new automake test stuff
Ryan Lortie [Thu, 11 Jul 2013 17:54:47 +0000 (13:54 -0400)]
Deal with new automake test stuff

Add *.trs and *.log to .gitignore along with test-driver

Add *.trs and *.log to CLEANFILES in glib.mk.

11 years agoAdd missing file
Ryan Lortie [Thu, 11 Jul 2013 17:47:45 +0000 (13:47 -0400)]
Add missing file

This got removed during the OnlyShowIn shuffle.

11 years agoGDesktopAppInfo: remove note about OnlyShowIn
Ryan Lortie [Thu, 11 Jul 2013 17:04:23 +0000 (13:04 -0400)]
GDesktopAppInfo: remove note about OnlyShowIn

A previous version of the patch had OnlyShowIn support for desktop file
actions.  This was removed from the spec and the patch rewritten, but
this bit of documentation slipped through.  Remove it.

11 years agoImplement the Desktop Action specification
Ryan Lortie [Thu, 11 Jul 2013 16:46:59 +0000 (12:46 -0400)]
Implement the Desktop Action specification

For some time, the desktop file specification has supported "additional
application actions".  This is intended to allow for additional methods
of starting an app, such as a mail client having a "Compose New Message"
action that brings up the compose window instead of the folder list.

This patch adds support for this with a relatively minimal API.

In the case that the application is a GApplication and DBusActivatable,
desktop actions are translated into GActions that have been added to the
application with g_action_map_add_action().  This more or less closes
the loop on being able to activate an application with an action
invocation (instead of 'activate').

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

11 years agoadd GPropertyAction
Ryan Lortie [Fri, 28 Jun 2013 15:41:43 +0000 (11:41 -0400)]
add GPropertyAction

Add a new type of GAction that represents the value of a property on an
object.  As an example, this might be used on the "visible-child-name"
property of a GtkStack.

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

11 years agoGVariant: fix two small/theoretical leaks
Ryan Lortie [Thu, 11 Jul 2013 16:26:33 +0000 (12:26 -0400)]
GVariant: fix two small/theoretical leaks

Fix some leaks that turned up while valgrinding the GVariant testcase.

These leaks are small and only occur when there is already an error in
the program: they are leaks of temp strings used when formatting a
critical message.

These show up as leaks again the testcase under the new "expect
messages" approach.  Previously, we fork()ed and these caused the
subprocess to abort, which is why this was not noticed before.

11 years agoAdd g_variant_new_printf
Ryan Lortie [Thu, 11 Jul 2013 16:16:44 +0000 (12:16 -0400)]
Add g_variant_new_printf

Add a quick way to get a floating GVariant from printf formatting.

11 years agobump version
Matthias Clasen [Tue, 9 Jul 2013 18:28:19 +0000 (14:28 -0400)]
bump version

11 years ago2.37.4 2.37.4
Matthias Clasen [Tue, 9 Jul 2013 16:54:00 +0000 (12:54 -0400)]
2.37.4

11 years agoAdd G_TYPE_CHECKSUM to the docs
Matthias Clasen [Tue, 9 Jul 2013 17:30:49 +0000 (13:30 -0400)]
Add G_TYPE_CHECKSUM to the docs

11 years agoDocument g_simple_proxy_resolver_set_ignore_hosts
Matthias Clasen [Tue, 9 Jul 2013 17:28:07 +0000 (13:28 -0400)]
Document g_simple_proxy_resolver_set_ignore_hosts

11 years agoMinor doc tweak
Matthias Clasen [Tue, 9 Jul 2013 17:23:12 +0000 (13:23 -0400)]
Minor doc tweak

11 years ago[l10n] Update Catalan translation
Gil Forcada [Fri, 5 Jul 2013 00:23:48 +0000 (02:23 +0200)]
[l10n] Update Catalan translation

11 years agogthread: Use pthread_cond_timedwait_monotonic() if available
Sebastian Dröge [Thu, 4 Jul 2013 08:27:02 +0000 (10:27 +0200)]
gthread: Use pthread_cond_timedwait_monotonic() if available

Otherwise we have to rely on pthread_cond_timedwait() actually using
the monotonic clock, which might be true or not. On Android at least
it is using the realtime clock, no pthread_condattr_setclock() is available
but instead pthread_cond_timedwait_monotonic() can be used.

11 years agoEnsure that MAX_ALLOWED keeps working with the type macros
Emmanuele Bassi [Thu, 27 Jun 2013 14:15:40 +0000 (15:15 +0100)]
Ensure that MAX_ALLOWED keeps working with the type macros

When using the GLIB_VERSION_MAX_ALLOWED macro to define the upper bound
of allowed API the G_DEFINE_TYPE_EXTENDED starts warning about the newly
added g_type_class_adjust_private_offset() function; this effectively
introduces a run-time dependency on GLib 2.38 even if we don't use its
API explicitly.

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

11 years agoAdd missing G_BEGIN/END_DECLS to gsettingsschema.h.
Martin Ejdestig [Tue, 2 Jul 2013 17:53:04 +0000 (19:53 +0200)]
Add missing G_BEGIN/END_DECLS to gsettingsschema.h.

Without this fix, using any of the enclosed functions when building with a
C++ compiler will result in undefined references.

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

11 years agoGDBusConnection: be more careful with async GetAll
Ryan Lortie [Mon, 1 Jul 2013 21:42:43 +0000 (17:42 -0400)]
GDBusConnection: be more careful with async GetAll

It's possible to get a org.freedesktop.Properties.GetAll call even if we
have no readable properties in the introspection, in which case we
should return the empty list in the usual way.

We should certainly _not_ be dispatching to the method call handler of
an interface which has no properties (since it will not be expecting
this).

Add a check to make sure that there is at least one readable property
before assuming that a NULL get_property handler implies that we want to
handle properties asynchronously.

Add a testcase that was failing before the change and works after it.

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

11 years agoRevert two errant commits to GMutex, etc.
Ryan Lortie [Tue, 2 Jul 2013 03:30:31 +0000 (23:30 -0400)]
Revert two errant commits to GMutex, etc.

This reverts commits dfbac178bdcbcb042be928dcbeaa87742b511836 and
56348210f38209a11902e54b2db41833aab36414.

These two commits introduce undesirable behaviour and were made with no
apparent approval from anybody at all, and without reference to a bug or
mailing list discussion.

11 years agogspawn: Fix leak of internal pipe with G_SPAWN_LEAVE_DESCRIPTORS_OPEN
Paul Barbieri [Mon, 1 Jul 2013 20:10:28 +0000 (21:10 +0100)]
gspawn: Fix leak of internal pipe with G_SPAWN_LEAVE_DESCRIPTORS_OPEN

Even when the app author specifies G_SPAWN_LEAVE_DESCRIPTORS_OPEN,
we should avoid leaking our internal pipe machinery into the
child.

Commit message written by: Colin Walters <walters@verbum.org>

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

11 years agoFix typo in documentation
Bastien Nocera [Fri, 21 Jun 2013 18:07:58 +0000 (20:07 +0200)]
Fix typo in documentation

s/doucumentation/documentation

11 years agoFinish the previous fix for GMutex, GRecMutex, GRWLock and GCond
Jeffrey Stedfast [Sun, 30 Jun 2013 18:01:34 +0000 (14:01 -0400)]
Finish the previous fix for GMutex, GRecMutex, GRWLock and GCond

11 years agoFixed g_mutex_clear() to fully undo g_mutex_init()
Jeffrey Stedfast [Sun, 30 Jun 2013 17:46:28 +0000 (13:46 -0400)]
Fixed g_mutex_clear() to fully undo g_mutex_init()

In order to fully undo the effects of g_mutex_init(),
it is necessary to reset the internal mutex pointer
back to NULL so that a later call to g_mutex_init()
actually works as expected.

11 years agoDoc: small fixes
Sébastien Wilmet [Tue, 25 Jun 2013 20:11:54 +0000 (22:11 +0200)]
Doc: small fixes

This commit adds the GTestSubprocessFlags enum to the docs, and fixes
several minor typos in various places.

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

11 years agoMake G_STRFUNC consistent across platforms
Dan Winship [Fri, 14 Jun 2013 14:19:31 +0000 (11:19 -0300)]
Make G_STRFUNC consistent across platforms

Recent versions of clang have changed __PRETTY_FUNCTION__ to always
include the function signature (rather than including the function
signature in C++ but not in C like gcc does). This causes G_STRFUNC to
give different results under clang and gcc, causing some tests with
g_test_expect_messages() to fail.

Fix this by only using __PRETTY_FUNCTION__ in C++, and using
__FUNCTION__ in C. (Under gcc this change has no effect.)

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

11 years agoImprove various section headings in the docs
Matthias Clasen [Sun, 30 Jun 2013 02:51:31 +0000 (22:51 -0400)]
Improve various section headings in the docs

We don't use # or other forms of links in the section headings.
We also capitalize them and don't put a final period.

This commit corrects several headings to follow these rules.

11 years agodocs: minor formatting fixes to the gresource man page
Matthias Clasen [Sun, 30 Jun 2013 02:46:38 +0000 (22:46 -0400)]
docs: minor formatting fixes to the gresource man page

Make the SECTION argument appear the same way throughout.

11 years agotests: add a test for the previous commit
Dan Winship [Tue, 25 Jun 2013 13:34:29 +0000 (09:34 -0400)]
tests: add a test for the previous commit

11 years agogmain: handle blocked source in g_source_add_child_source()
Wim Taymans [Thu, 30 May 2013 14:46:02 +0000 (16:46 +0200)]
gmain: handle blocked source in g_source_add_child_source()

When a child_source is added to a blocked source it has no context, yet we
call block_source on it that segfaults when it dereferences the NULL context
when it attempts to remove the file descriptors. To fix this we:

- Ensure that when we block a source, we don't attempt to remove its file
  descriptors from a NULL context.

- Also ensure that when we attach a blocked source to a context, we don't add the
  file descriptors to the context.

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

11 years agoversion bump
Ryan Lortie [Mon, 24 Jun 2013 16:13:30 +0000 (12:13 -0400)]
version bump

11 years agoGLib 2.37.3 2.37.3
Ryan Lortie [Mon, 24 Jun 2013 15:05:20 +0000 (11:05 -0400)]
GLib 2.37.3

11 years agosmall docs xml fixup
Ryan Lortie [Mon, 24 Jun 2013 15:19:06 +0000 (11:19 -0400)]
small docs xml fixup

11 years agoRename the generated private data getter function
Emmanuele Bassi [Mon, 24 Jun 2013 14:43:04 +0000 (15:43 +0100)]
Rename the generated private data getter function

As it turns out, we have examples of internal functions called
type_name_get_private() in the wild (especially among older libraries),
so we need to use a name for the per-instance private data getter
function that hopefully won't conflict with anything.

11 years agogio: Missing G_ADD_PRIVATE in GFileInputStream
Emmanuele Bassi [Mon, 24 Jun 2013 14:43:00 +0000 (15:43 +0100)]
gio: Missing G_ADD_PRIVATE in GFileInputStream

11 years agodocs: Clean up the GObject tutorial a bit
Emmanuele Bassi [Wed, 12 Jun 2013 14:18:29 +0000 (15:18 +0100)]
docs: Clean up the GObject tutorial a bit

Started off by using the new instance private data macro, ended up
cleaning up the obscure, out of date, or simply broken concepts and
paragraphs.

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

11 years agodocs: Include newly added functions and macros
Emmanuele Bassi [Mon, 10 Jun 2013 21:21:02 +0000 (22:21 +0100)]
docs: Include newly added functions and macros

The functions are private, and an implementation detail of the macros.

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

11 years agogio: Use the new private instance data declaration
Emmanuele Bassi [Mon, 10 Jun 2013 23:29:58 +0000 (00:29 +0100)]
gio: Use the new private instance data declaration

Use the newly added macros, and remove the explicit calls to
g_type_class_add_private().

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

11 years agogparam: Use the new private instance data API
Emmanuele Bassi [Mon, 10 Jun 2013 23:29:22 +0000 (00:29 +0100)]
gparam: Use the new private instance data API

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

11 years agogobject: Add private field access macros
Emmanuele Bassi [Sun, 23 Jun 2013 13:50:49 +0000 (14:50 +0100)]
gobject: Add private field access macros

Similar to G_STRUCT_MEMBER and G_STRUCT_MEMBER_P, but automatically using
the G_PRIVATE_OFFSET macro.

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

11 years agoAdd G_PRIVATE_OFFSET
Emmanuele Bassi [Wed, 19 Jun 2013 19:41:02 +0000 (20:41 +0100)]
Add G_PRIVATE_OFFSET

A macro that evaluates to the offset of a field inside an instance
private data structure.

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

11 years agoAllow registering instance private data during get_type()
Emmanuele Bassi [Thu, 9 May 2013 21:41:26 +0000 (14:41 -0700)]
Allow registering instance private data during get_type()

For static types, it should be possible to register a private data
structure right when we are registering the type, i.e. from the
get_type() implementation. By allowing this, we can take advantage of
the existing type definition macros to cut down the amount of code
necessary (as well as the knowledge baggage) when creating a new type.

The main issue with this new feature is that it cannot be mixed with the
old idiomatic way of adding private instance data by calling a function
in the middle of the class_init() implementation, as that imposes the
additional constraint of initializing the whole type hierarchy in order
to retrieve the offset of the private data in the GTypeInstance
allocation.

For this reason we are going to follow a two-step process; in the first
step, we are going to introduce the new (semi-private) API to register
the intent to add private instance data from within the get_type()
implementation, and hide it behind a macro; at the same time, the
G_DEFINE_TYPE_EXTENDED macro is going to be modified so that it will
register the private instance data if the macro was used, using a new
(semi-private) function as well. Once we have migrated all our code, we
will make the first new function perform the actual private data
registration, and turn the second new function into a no-op. This should
guarantee a transparent migration of existing code to the new idiomatic
form.

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

11 years agoDefine GTESTER_REPORT for non-GLIB too
Matthias Clasen [Sun, 23 Jun 2013 23:35:15 +0000 (19:35 -0400)]
Define GTESTER_REPORT for non-GLIB too

11 years agodocs: fix GTK-Doc build
Dieter Verfaillie [Sun, 23 Jun 2013 12:15:05 +0000 (14:15 +0200)]
docs: fix GTK-Doc build

cd html && gtkdoc-mkhtml $mkhtml_options  gio ../gio-docs.xml
../xml/gdbusconnection.xml:2063: parser error : Opening and ending tag mismatch: literal line 2062 and para
</para>
       ^

11 years agoGDBusMethodInvocation: add missing 'goto out'
Ryan Lortie [Sat, 22 Jun 2013 17:41:12 +0000 (13:41 -0400)]
GDBusMethodInvocation: add missing 'goto out'

We do a bunch of new validity checks for return values in response to
calls on the D-Bus property API but we miss the 'goto out' in one case.
Add it.

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

11 years agoGDBusMethodInvocation: add property return checks
Ryan Lortie [Wed, 17 Apr 2013 13:45:23 +0000 (09:45 -0400)]
GDBusMethodInvocation: add property return checks

Add some type checking for the values returned from async property
handling calls, similar in spirit to the type checking we do for normal
method calls.

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

11 years agoGDBusConnection: allow async property handling
Ryan Lortie [Wed, 17 Apr 2013 13:30:15 +0000 (09:30 -0400)]
GDBusConnection: allow async property handling

The existing advice in the documentation to "simply" register the
"org.freedesktop.DBus.Properties" interface if you want to handle
properties asynchronously is pretty unreasonable.  If you want to handle
this interface you have to deal with all properties for all interfaces
on the path, and you have to do all of the checking for yourself.  You
also have to provide your own introspection data.

Introduce a new convention for dealing with properties asynchronously.

If the user provides NULL for their get_property() or set_property()
functions in the vtable and has properties registered then the
properties are sent to the method_call() handler.  We get lucky here
that this function takes an "interface_name" parameter that we can set
to "org.freedesktop.DBus.Properties".

We also do the user the favour of setting the GDBusPropertyInfo on the
GDBusMethodInvocation for their convenience (for much the same reasons
as they might want the already-available GDBusMethodInfo).

Add a testcase as well as a bunch of documentation about this new
feature.

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

11 years agoGDBusMethodInvocation: add 'property_info'
Ryan Lortie [Wed, 17 Apr 2013 13:28:05 +0000 (09:28 -0400)]
GDBusMethodInvocation: add 'property_info'

Add a field on GDBusMethodInvocation for GDBusPropertyInfo.

For now, it is always %NULL.  It will be set in future patches.

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

11 years agoGDBusConnection: some straight-up refactoring
Ryan Lortie [Wed, 17 Apr 2013 13:24:36 +0000 (09:24 -0400)]
GDBusConnection: some straight-up refactoring

Separate the code for validating a method call from the code for
actually scheduling it for dispatch.

This will allow property Get/Set/GetAll calls to be dispatched to the
method_call handler without duplicating a lot of code.

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

11 years agoGDBusConnection: move 'Set' typecheck to worker
Ryan Lortie [Sat, 22 Jun 2013 17:37:54 +0000 (13:37 -0400)]
GDBusConnection: move 'Set' typecheck to worker

We presently do a lot of checks on property sets (signature check,
correct interface, property exists, etc.) from the worker thread before
dispatching the call to the user's thread.  The typecheck, however, is
saved until just before calling the user's vfunc, in their thread.

My best guess is that this was done to save having to unpack the value
from the tuple twice (since we don't unpack it until we're just about
the call the user).

This patch moves the check to the same place as all of the other checks.

The purpose of this change is to allow for sharing this check with the
(soon-to-be-introduced) case of handing property sets from
method_call().

This change has a minor side effect: error messages generated by sending
invalid values to property sets are no longer guaranteed to be correctly
ordered with respect to the void returns from successful property sets.
They will instead be correctly ordered with respect to the other error
messages.

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

11 years agoGDBusConnection: remove an unused g_variant_get()
Ryan Lortie [Wed, 17 Apr 2013 10:52:59 +0000 (12:52 +0200)]
GDBusConnection: remove an unused g_variant_get()

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

11 years agoMakefile.am: move gtk-doc.make back to EXTRA_DIST
Ryan Lortie [Wed, 5 Jun 2013 22:46:29 +0000 (18:46 -0400)]
Makefile.am: move gtk-doc.make back to EXTRA_DIST

0192c599377c35cc465eed1ae61de56d5a1034e8 moved this file from EXTRA_DIST TO
BUILT_EXTRA_DIST for an unknown reason.

Having it here causes the timestamp to be updated during 'make dist' to
something newer than docs/reference/*/Makefile.in.  This is a problem
because those Makefile.in are generated by including gtk-doc.make, so
automake becomes convinced that they need to be regenerated.  This is a
problem for people who don't have automake installed, or have the wrong
version.

The timestamp problem has been around for quite a while, but it only
became a problem recently after automake changed policy about this in
commit a22717dffe37f30ef2ad2c355b68c9b3b5e4b8c7.

Specifically:

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

11 years agoRevert "g_file_set_contents(): don't fsync on ext3/4"
Colin Walters [Thu, 20 Jun 2013 17:13:29 +0000 (13:13 -0400)]
Revert "g_file_set_contents(): don't fsync on ext3/4"

We didn't actually do any real-world testing of this, and
unsurprisingly it turns out to break in at least one widely-used
configuration (Fedora 19 x86_64, ext4 on LVM).

This reverts commit 9d0c17b50102267a5029b58b1f44efbad82d8f03.

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

11 years agoUpdated Norwegian bokmål translation
Kjartan Maraas [Thu, 20 Jun 2013 09:46:58 +0000 (11:46 +0200)]
Updated Norwegian bokmål translation

11 years agoAdd MSVC Projects for Utility Programs
Chun-wei Fan [Thu, 20 Jun 2013 07:48:32 +0000 (15:48 +0800)]
Add MSVC Projects for Utility Programs

Build and "install" the gio-querymodules and gdbus utility programs so that
the Visual Studio builds of GLib is more comprehensive.  The Python scripts
for the GDBus codegen will be added to "installation" later.

11 years agoUpdate Visual Studio Projects
Chun-wei Fan [Thu, 20 Jun 2013 07:43:32 +0000 (15:43 +0800)]
Update Visual Studio Projects

Make all projects settings use the MultiByte character set when building
GLib to improve consistency.

11 years agog_uri_unescape_string: Mention (allow-none)/%NULL in documentation
Arnel A. Borja [Mon, 10 Jun 2013 04:37:42 +0000 (12:37 +0800)]
g_uri_unescape_string: Mention (allow-none)/%NULL in documentation

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

11 years agog_uri_escape_string: Add missing allow-none annotation
Arnel A. Borja [Sat, 1 Jun 2013 06:47:27 +0000 (14:47 +0800)]
g_uri_escape_string: Add missing allow-none annotation

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

11 years ago[l10n] Updated Italian translation.
Milo Casagrande [Wed, 19 Jun 2013 08:37:13 +0000 (10:37 +0200)]
[l10n] Updated Italian translation.

11 years agogobject/tests: Add missing build dependency
Colin Walters [Mon, 17 Jun 2013 17:05:11 +0000 (13:05 -0400)]
gobject/tests: Add missing build dependency

11 years agoBump version
Matthias Clasen [Mon, 17 Jun 2013 16:56:40 +0000 (12:56 -0400)]
Bump version

11 years ago2.37.2 2.37.2
Matthias Clasen [Mon, 17 Jun 2013 12:40:33 +0000 (08:40 -0400)]
2.37.2

11 years agoTry to make the testgdate test hobble along a little longer
Matthias Clasen [Mon, 17 Jun 2013 16:39:56 +0000 (12:39 -0400)]
Try to make the testgdate test hobble along a little longer

11 years agoPlug a small memory leak
Matthias Clasen [Sun, 16 Jun 2013 13:28:59 +0000 (09:28 -0400)]
Plug a small memory leak

g_test_trap_assertions was leaking the process_id string.

11 years agotests/binding: Ensure that the binding goes away
Emmanuele Bassi [Fri, 3 May 2013 23:44:36 +0000 (16:44 -0700)]
tests/binding: Ensure that the binding goes away

Use weak pointers so that we can check that the GBinding instance goes
away when it should.

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

11 years agobinding: Use hash table as a set
Emmanuele Bassi [Thu, 16 May 2013 21:34:55 +0000 (22:34 +0100)]
binding: Use hash table as a set

11 years agobinding: Make unbind() release the reference on GBinding
Emmanuele Bassi [Thu, 16 May 2013 21:28:54 +0000 (22:28 +0100)]
binding: Make unbind() release the reference on GBinding

The automatic memory management of GBinding is not optimal for high
order languages with garbage collectors semantics. If we leave the
binding instance inert but still referenced it will be leaked, so one
solution that does not throw away the baby of C convenience with the
bathwater of language bindability is to have unbind() perform an
implicit unref().

Hopefully, C developers will read the documentation and especially the
note that says that after calling unbind() the reference count on the
GBinding instance is decreased.

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

11 years agodocs: Fix g_binding_unbind() in the API reference
Emmanuele Bassi [Fri, 3 May 2013 22:51:43 +0000 (15:51 -0700)]
docs: Fix g_binding_unbind() in the API reference

11 years agoUpdated Telugu Translations
Krishnababu Krothapalli [Tue, 11 Jun 2013 08:53:53 +0000 (14:23 +0530)]
Updated Telugu Translations

11 years agoupdated kn translations
Shankar Prasad [Tue, 11 Jun 2013 06:22:33 +0000 (11:52 +0530)]
updated kn translations

11 years agogmain: Document more use cases of g_main_context_wakeup()
Colin Walters [Mon, 10 Jun 2013 17:17:08 +0000 (13:17 -0400)]
gmain: Document more use cases of g_main_context_wakeup()

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

11 years agotests: Add a test for a specific invariant
Benjamin Otte [Sat, 8 Jun 2013 19:59:59 +0000 (21:59 +0200)]
tests: Add a test for a specific invariant

See the documentation in the test. The invariant is used by
gnome-test-runner.

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

11 years agoUpdated Czech translation
Marek Černocký [Mon, 10 Jun 2013 19:31:36 +0000 (21:31 +0200)]
Updated Czech translation

11 years agoUpdated Polish translation
Piotr Drąg [Mon, 10 Jun 2013 18:32:57 +0000 (20:32 +0200)]
Updated Polish translation

11 years agoGObject: turn add-property-after-init to a warning
Ryan Lortie [Mon, 10 Jun 2013 15:14:17 +0000 (11:14 -0400)]
GObject: turn add-property-after-init to a warning

We have turned up enough cases of this being done (including GTK API
allowing apps to do this to GtkSettings well after it has been
instantiated) that it is clear that we cannot really break this feature
while claiming to be backwards compatible.

For that reason, it becomes a warning rather than a critical (ie: it is
still well-defined behaviour, but you are discouraged from doing it).

The intention is to keep this feature for at least the next while.
A given GObjectClass will be able to avoid using GParamSpec pool for as
long as you don't install properties after init.  If you do that, you
will get a warning and we will devolve to using GParamSpecPool.

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

11 years agoAssamese translation updated
Nilamdyuti Goswami [Mon, 10 Jun 2013 09:28:13 +0000 (14:58 +0530)]
Assamese translation updated

11 years agoUpdated Galician translations
Fran Diéguez [Mon, 10 Jun 2013 08:31:01 +0000 (10:31 +0200)]
Updated Galician translations

11 years agogio/tests: sort tests in the Makefile.am
Ryan Lortie [Sat, 8 Jun 2013 21:01:56 +0000 (17:01 -0400)]
gio/tests: sort tests in the Makefile.am

...to make it clear where people should add theirs, reducing the chance
of conflicts caused by everyone always adding at the end.

11 years agoGDesktopAppInfo: support DBusActivatable
Ryan Lortie [Mon, 29 Apr 2013 20:37:55 +0000 (13:37 -0700)]
GDesktopAppInfo: support DBusActivatable

Support the sender-side of the freedesktop application specification for
cases that we find 'DBusActivatable=true' in the desktop file.

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

11 years agoUpdate link to documentation
Matthias Clasen [Thu, 6 Jun 2013 04:05:41 +0000 (00:05 -0400)]
Update link to documentation

11 years agotests: fix and re-add the broken test
Dan Winship [Thu, 6 Jun 2013 02:49:31 +0000 (23:49 -0300)]
tests: fix and re-add the broken test

11 years agoRemove a failing testcase
Matthias Clasen [Thu, 6 Jun 2013 01:50:52 +0000 (21:50 -0400)]
Remove a failing testcase

One of the recently added examples seems wrong. Drop it.

11 years agoGFileEnumerator: Add some documentation about ordering
Colin Walters [Wed, 5 Jun 2013 22:05:12 +0000 (18:05 -0400)]
GFileEnumerator: Add some documentation about ordering

Kind of a gratuitious gaping hole in the docs...

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

11 years agotests: add a few more invalid IPv6 address tests
Ryan Lortie [Wed, 5 Jun 2013 19:51:13 +0000 (15:51 -0400)]
tests: add a few more invalid IPv6 address tests

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

11 years agoginetaddress: fix addr/string conversions on windows
Dan Winship [Sun, 2 Jun 2013 21:32:21 +0000 (18:32 -0300)]
ginetaddress: fix addr/string conversions on windows

When parsing an address, we need to re-set "len" between IPv4 and
IPv6, since WSAStringToAddress() might set it to sizeof(struct sin_addr)
when trying to parse the string as IPv4, even if it fails. Also, we
need to make sure to not pass strings to WSAStringToAddress() that it
will accept but that we don't want it to.

When stringifying an address, we need to clear the sockaddr before
filling it in, so we don't accidentally end up with an unwanted
scope_id or the like.

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

11 years agoEnsure g_file_copy() does not temporarily expose private files
Colin Walters [Sun, 12 May 2013 06:28:01 +0000 (07:28 +0100)]
Ensure g_file_copy() does not temporarily expose private files

Previously, g_file_copy() would (on Unix) create files with the
default mode of 644.  For applications which might at user request
copy arbitrary private files such as ~/.ssh or /etc/shadow, a
world-readable copy would be temporarily exposed.

This patch is suboptimal in that it *only* fixes g_file_copy()
for the case where both source and destination are instances of
GLocalFile on Unix.

The reason for this is that the public GFile APIs for creating files
allow very limited control over the access permissions for the created
file; one can either say a file is "private" or not.  Fixing
this by adding e.g. g_file_create_with_attributes() would make sense,
except this would entail 8 new API calls for all the variants of
_create(), _create_async(), _replace(), _replace_async(),
_create_readwrite(), _create_readwrite_async(), _replace_readwrite(),
_replace_readwrite_async().  That can be done as a separate patch
later.

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

11 years agog_file_copy(): Clean up logic for info query
Colin Walters [Wed, 8 May 2013 23:01:59 +0000 (00:01 +0100)]
g_file_copy(): Clean up logic for info query

Previously, we called g_file_query_info() *again* on the source at the
very end of the copy.  This has the lame semantics that if the source
happened to be deleted, we would fail to apply attributes to the
destination.  This could even be a security flaw.

This commit changes things so that we query info from the source
*stream* after opening - i.e. on Unix we use the proper fstat() and
friends.  That way we operate more atomically.

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

11 years agoGApplication: implement fd.o application spec
Ryan Lortie [Mon, 29 Apr 2013 20:30:02 +0000 (13:30 -0700)]
GApplication: implement fd.o application spec

The freedesktop application specification is largely overlapping the
GLib application D-Bus interface but implementing it will allow for
applications to be launched directly from desktop files, which we want.

We keep the old Gtk interface for compatibility reasons and because it
has some functionality not in the freedesktop spec (Busy state,
CommandLine, etc.).

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

11 years agoGApplication: set prgname to appid for services
Ryan Lortie [Thu, 9 May 2013 13:30:38 +0000 (09:30 -0400)]
GApplication: set prgname to appid for services

Since services are based on D-Bus activation and desktop files are
supposed to be named like the busname for DBusActivatable applications
and since gnome-shell wants wmclass equal to the desktop file name, we
therefore want wmclass equal to the application ID in this case.

wmclass is determined from the prgname, which is otherwise pretty
pointless to set to some random thing in $(libexec) for a D-Bus service,
so set that to the appid.

This means that for D-Bus services, the following things are now all the
same:

 - application ID
 - prgname
 - wmclass property set on all windows
 - desktop file name
 - well-known bus name

There are not many applications running as D-Bus services at present so
this shouldn't impact anybody except for gnome-clocks (where this change
will be fixing a bug) and gnome-terminal.

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

11 years agoUpdated Spanish translation
Daniel Mustieles [Wed, 5 Jun 2013 16:28:48 +0000 (18:28 +0200)]
Updated Spanish translation

11 years agoUpdated Odia Translation.
ManojKumar Giri [Wed, 5 Jun 2013 07:38:46 +0000 (13:08 +0530)]
Updated Odia Translation.

11 years agoUpdated Marathi Translations
Sandeep Sheshrao Shedmake [Wed, 5 Jun 2013 06:58:00 +0000 (12:28 +0530)]
Updated Marathi Translations

11 years agoUpdated Gujarati Translations
Sweta Kothari [Wed, 5 Jun 2013 05:18:55 +0000 (10:48 +0530)]
Updated Gujarati Translations

11 years agog_file_set_contents(): don't fsync on ext3/4
Ryan Lortie [Tue, 4 Jun 2013 13:48:12 +0000 (09:48 -0400)]
g_file_set_contents(): don't fsync on ext3/4

ext3 and ext4 (for quite some time) with default mount options don't
need fsync() to ensure safety of replace-by-rename.  Stop doing that for
these filesystems.

Note: this patch also impacts ext2, which is probably not safe, but I
don't know of any way to check ext2. vs the others because they all have
the same magic numbers (short of opening /proc/mount).

This patch assumes that if BTRFS_SUPER_MAGIC is defined then so will be
EXT3_SUPER_MAGIC.

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

11 years agogio/tests/inet-address: fix to work on OS X
Dan Winship [Sat, 25 May 2013 14:09:43 +0000 (11:09 -0300)]
gio/tests/inet-address: fix to work on OS X

OS X's getaddrinfo() only supports IPv6 scope IDs that are interface
names, not numbers. So use if_indextoname() to get the name of an
interface and construct an address using that.

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

11 years agog_file_set_contents: change {posix_ => }fallocate
Ryan Lortie [Tue, 4 Jun 2013 02:55:20 +0000 (22:55 -0400)]
g_file_set_contents: change {posix_ => }fallocate

Use fallocate() instead of posix_fallocate() so that we just fail
instead of getting the emulated version from the libc.

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

11 years agog_file_set_contents(): fix simple logic error
Ryan Lortie [Mon, 3 Jun 2013 21:59:29 +0000 (17:59 -0400)]
g_file_set_contents(): fix simple logic error

CI FTW.

11 years agog_file_set_contents(): use unistd instead of stdio
Ryan Lortie [Mon, 3 Jun 2013 21:49:06 +0000 (17:49 -0400)]
g_file_set_contents(): use unistd instead of stdio

Use a normal write() system call instead of fdopen() and fwrite().

This will definitely work on UNIX system and should work on Windows as
well...

As an added bonus, we can use g_close() now as well.

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

11 years agog_file_set_contents(): don't allocate display name
Ryan Lortie [Mon, 3 Jun 2013 20:16:25 +0000 (16:16 -0400)]
g_file_set_contents(): don't allocate display name

g_file_set_contents() sets a GError in the event of various failures
that count occur.  It uses g_filename_display_name() in order to get the
filename to include in the messages.

Factor out the error handling to make it easier to allocate the display
name only when we need it (instead of allocating it every time).

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

11 years agog_file_set_contents(): use posix_fallocate()
Ryan Lortie [Mon, 3 Jun 2013 19:43:01 +0000 (15:43 -0400)]
g_file_set_contents(): use posix_fallocate()

Extents-based filesystems like knowing in advance how much data will be
written to a file in order to prevent fragmentation.  If we have it, use
posix_fallocate() before writing data in g_file_set_contents().

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