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
Piotr Drąg [Thu, 11 Jul 2013 19:09:15 +0000 (21:09 +0200)]
Updated POTFILES.in
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.
Ryan Lortie [Thu, 11 Jul 2013 17:47:45 +0000 (13:47 -0400)]
Add missing file
This got removed during the OnlyShowIn shuffle.
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.
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
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
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.
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.
Matthias Clasen [Tue, 9 Jul 2013 18:28:19 +0000 (14:28 -0400)]
bump version
Matthias Clasen [Tue, 9 Jul 2013 16:54:00 +0000 (12:54 -0400)]
2.37.4
Matthias Clasen [Tue, 9 Jul 2013 17:30:49 +0000 (13:30 -0400)]
Add G_TYPE_CHECKSUM to the docs
Matthias Clasen [Tue, 9 Jul 2013 17:28:07 +0000 (13:28 -0400)]
Document g_simple_proxy_resolver_set_ignore_hosts
Matthias Clasen [Tue, 9 Jul 2013 17:23:12 +0000 (13:23 -0400)]
Minor doc tweak
Gil Forcada [Fri, 5 Jul 2013 00:23:48 +0000 (02:23 +0200)]
[l10n] Update Catalan translation
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.
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
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
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
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.
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
Bastien Nocera [Fri, 21 Jun 2013 18:07:58 +0000 (20:07 +0200)]
Fix typo in documentation
s/doucumentation/documentation
Jeffrey Stedfast [Sun, 30 Jun 2013 18:01:34 +0000 (14:01 -0400)]
Finish the previous fix for GMutex, GRecMutex, GRWLock and GCond
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.
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
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
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.
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.
Dan Winship [Tue, 25 Jun 2013 13:34:29 +0000 (09:34 -0400)]
tests: add a test for the previous commit
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
Ryan Lortie [Mon, 24 Jun 2013 16:13:30 +0000 (12:13 -0400)]
version bump
Ryan Lortie [Mon, 24 Jun 2013 15:05:20 +0000 (11:05 -0400)]
GLib 2.37.3
Ryan Lortie [Mon, 24 Jun 2013 15:19:06 +0000 (11:19 -0400)]
small docs xml fixup
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.
Emmanuele Bassi [Mon, 24 Jun 2013 14:43:00 +0000 (15:43 +0100)]
gio: Missing G_ADD_PRIVATE in GFileInputStream
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
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
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
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
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
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
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
Matthias Clasen [Sun, 23 Jun 2013 23:35:15 +0000 (19:35 -0400)]
Define GTESTER_REPORT for non-GLIB too
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>
^
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
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
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
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
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
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
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
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
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
Kjartan Maraas [Thu, 20 Jun 2013 09:46:58 +0000 (11:46 +0200)]
Updated Norwegian bokmål translation
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.
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.
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
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
Milo Casagrande [Wed, 19 Jun 2013 08:37:13 +0000 (10:37 +0200)]
[l10n] Updated Italian translation.
Colin Walters [Mon, 17 Jun 2013 17:05:11 +0000 (13:05 -0400)]
gobject/tests: Add missing build dependency
Matthias Clasen [Mon, 17 Jun 2013 16:56:40 +0000 (12:56 -0400)]
Bump version
Matthias Clasen [Mon, 17 Jun 2013 12:40:33 +0000 (08:40 -0400)]
2.37.2
Matthias Clasen [Mon, 17 Jun 2013 16:39:56 +0000 (12:39 -0400)]
Try to make the testgdate test hobble along a little longer
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.
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
Emmanuele Bassi [Thu, 16 May 2013 21:34:55 +0000 (22:34 +0100)]
binding: Use hash table as a set
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
Emmanuele Bassi [Fri, 3 May 2013 22:51:43 +0000 (15:51 -0700)]
docs: Fix g_binding_unbind() in the API reference
Krishnababu Krothapalli [Tue, 11 Jun 2013 08:53:53 +0000 (14:23 +0530)]
Updated Telugu Translations
Shankar Prasad [Tue, 11 Jun 2013 06:22:33 +0000 (11:52 +0530)]
updated kn translations
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
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
Marek Černocký [Mon, 10 Jun 2013 19:31:36 +0000 (21:31 +0200)]
Updated Czech translation
Piotr Drąg [Mon, 10 Jun 2013 18:32:57 +0000 (20:32 +0200)]
Updated Polish translation
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
Nilamdyuti Goswami [Mon, 10 Jun 2013 09:28:13 +0000 (14:58 +0530)]
Assamese translation updated
Fran Diéguez [Mon, 10 Jun 2013 08:31:01 +0000 (10:31 +0200)]
Updated Galician translations
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.
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
Matthias Clasen [Thu, 6 Jun 2013 04:05:41 +0000 (00:05 -0400)]
Update link to documentation
Dan Winship [Thu, 6 Jun 2013 02:49:31 +0000 (23:49 -0300)]
tests: fix and re-add the broken test
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.
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
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
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
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
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
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
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
Daniel Mustieles [Wed, 5 Jun 2013 16:28:48 +0000 (18:28 +0200)]
Updated Spanish translation
ManojKumar Giri [Wed, 5 Jun 2013 07:38:46 +0000 (13:08 +0530)]
Updated Odia Translation.
Sandeep Sheshrao Shedmake [Wed, 5 Jun 2013 06:58:00 +0000 (12:28 +0530)]
Updated Marathi Translations
Sweta Kothari [Wed, 5 Jun 2013 05:18:55 +0000 (10:48 +0530)]
Updated Gujarati Translations
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
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
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
Ryan Lortie [Mon, 3 Jun 2013 21:59:29 +0000 (17:59 -0400)]
g_file_set_contents(): fix simple logic error
CI FTW.
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
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
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