platform/upstream/glib.git
10 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.

10 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.

10 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

10 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

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

10 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

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

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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>
       ^

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

10 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.

10 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.

10 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

10 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

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

10 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

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

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

10 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

10 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.

10 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

10 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

10 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

10 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

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

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

10 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

10 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

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

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

10 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

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

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

10 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.

10 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

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

10 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

10 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.

10 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

10 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

10 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

10 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

10 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

10 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

10 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

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

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

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

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

10 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

10 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

10 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

10 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.

10 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

10 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

10 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

10 years agoUpdated Slovenian translation
Matej Urbančič [Mon, 3 Jun 2013 19:37:49 +0000 (21:37 +0200)]
Updated Slovenian translation

10 years agoUpdated Spanish translation
Daniel Mustieles [Mon, 3 Jun 2013 09:27:44 +0000 (11:27 +0200)]
Updated Spanish translation

10 years agoUpdated Odia Translation.
ManojKumar Giri [Mon, 3 Jun 2013 08:18:33 +0000 (13:48 +0530)]
Updated Odia Translation.

10 years agoUpdated Gujarati Translations
Sweta Kothari [Mon, 3 Jun 2013 08:00:48 +0000 (13:30 +0530)]
Updated Gujarati Translations

10 years agoRemove extra comma in gtestutils.h
Kjell Ahlstedt [Sun, 2 Jun 2013 18:21:33 +0000 (20:21 +0200)]
Remove extra comma in gtestutils.h

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

10 years agoImprove GSettings test coverage
Matthias Clasen [Mon, 3 Jun 2013 00:00:21 +0000 (20:00 -0400)]
Improve GSettings test coverage

10 years agoAdd a directory monitoring test
Matthias Clasen [Sun, 2 Jun 2013 23:59:48 +0000 (19:59 -0400)]
Add a directory monitoring test

10 years agoRemove some unused inotify code
Matthias Clasen [Sun, 2 Jun 2013 18:37:19 +0000 (14:37 -0400)]
Remove some unused inotify code

10 years agotests: Remove a leftover debug printf
Ryan Lortie [Sun, 2 Jun 2013 13:53:06 +0000 (09:53 -0400)]
tests: Remove a leftover debug printf

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

11 years agoImprove unix stream test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:47:19 +0000 (01:47 -0400)]
Improve unix stream test coverage

11 years agoImprove GAppInfo test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:46:21 +0000 (01:46 -0400)]
Improve GAppInfo test coverage

11 years agoImprove GMemoryInputStream test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:44:49 +0000 (01:44 -0400)]
Improve GMemoryInputStream test coverage

11 years agoImprove GMenuModel test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:44:15 +0000 (01:44 -0400)]
Improve GMenuModel test coverage

11 years agoImprove GFileAttributeMatcher test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:43:13 +0000 (01:43 -0400)]
Improve GFileAttributeMatcher test coverage

11 years agoImprove GIcon test coverage
Matthias Clasen [Sun, 2 Jun 2013 05:42:28 +0000 (01:42 -0400)]
Improve GIcon test coverage

11 years agoImprove test coverage for GZipCompressor
Matthias Clasen [Sun, 2 Jun 2013 05:41:50 +0000 (01:41 -0400)]
Improve test coverage for GZipCompressor

11 years agoImprove test coverage for GBufferedOutputStream
Matthias Clasen [Sun, 2 Jun 2013 05:41:09 +0000 (01:41 -0400)]
Improve test coverage for GBufferedOutputStream

11 years agoTrivial formatting fix
Matthias Clasen [Sun, 2 Jun 2013 05:40:39 +0000 (01:40 -0400)]
Trivial formatting fix

11 years agoSkip spawn tests when collecting coverage
Matthias Clasen [Sat, 1 Jun 2013 22:54:57 +0000 (18:54 -0400)]
Skip spawn tests when collecting coverage

These tests break gcov's data collection, so don't link them
against -lgov. See bug 682133.

11 years agoImprove test coverage a bit
Matthias Clasen [Sat, 1 Jun 2013 04:36:16 +0000 (00:36 -0400)]
Improve test coverage a bit

11 years agomem-overflow: test malloc and realloc corner cases
Matthias Clasen [Sat, 1 Jun 2013 04:35:39 +0000 (00:35 -0400)]
mem-overflow: test malloc and realloc corner cases

11 years agoUpdated Galician translations
Fran Diéguez [Sat, 1 Jun 2013 22:25:33 +0000 (00:25 +0200)]
Updated Galician translations

11 years agoFix failure to build exit-on-close gdbus test
Ryan Lortie [Sat, 1 Jun 2013 15:38:10 +0000 (11:38 -0400)]
Fix failure to build exit-on-close gdbus test

In the case that HAVE_DBUS_DAEMON was undefined (as in ostree where glib
is built before D-Bus) this test was failing.  Move it inside the
HAVE_DBUS_DAEMON block.

11 years agoglib.mk: Rework win32 test support
Ryan Lortie [Sat, 1 Jun 2013 14:07:33 +0000 (10:07 -0400)]
glib.mk: Rework win32 test support

Newer versions of automake (~1.13.1) seem to generate some new rules for
testcases that get tripped up on our use of $(addsuffix) and $(strip) so
take those out of the definition of TESTS on win32.

11 years agoChange a pair of TESTS = to TEST +=
Ryan Lortie [Sat, 1 Jun 2013 13:55:13 +0000 (09:55 -0400)]
Change a pair of TESTS = to TEST +=

11 years agoGSettings tests: reverse installed test complexity
Ryan Lortie [Sat, 1 Jun 2013 02:33:22 +0000 (22:33 -0400)]
GSettings tests: reverse installed test complexity

Remove the complications that were introduced in an attempt to make the
gsettings and gschema-compile tests function as installed tests.  These
tests are designed (in large part for gsettings and entirely for
gschema-compile) to test the in-tree tools and should not be testing the
system versions.

In the future we may want to move the use of the in-tree tools from the
gsettings testcase into the Makefile and install the resulting files,
allowing this testcase to run against those files, installed.