Ryan Lortie [Thu, 8 Jan 2015 06:35:33 +0000 (01:35 -0500)]
Make GUnixMountMonitor per-context
GUnixMountMonitor was not threadsafe before. It was a global singleton
which emitted signals in the first thread that happened to construct it.
Move it to a per-context singleton model where each GMainContext gets
its own GUnixMountMonitor. Monitor for the changes from the GLib worker
thread and dispatch the results to each context with an active monitor.
https://bugzilla.gnome.org/show_bug.cgi?id=742599
Ryan Lortie [Thu, 8 Jan 2015 04:52:53 +0000 (23:52 -0500)]
gunixmounts: move GUnixMountMonitor code
Move this code to the correct part of the file.
While we're at it, drop an unused #define MOUNT_POLL_INTERVAL.
https://bugzilla.gnome.org/show_bug.cgi?id=742599
Ryan Lortie [Thu, 8 Jan 2015 04:49:47 +0000 (23:49 -0500)]
gunixmounts.c: add fold markers
This is a large file with a lot of very complicated code in it. Add
some fold markers to make things a bit more manageable.
https://bugzilla.gnome.org/show_bug.cgi?id=742599
Ryan Lortie [Thu, 8 Jan 2015 07:16:50 +0000 (02:16 -0500)]
Deprecate g_unix_mount_monitor_set_rate_limit()
Deprecate g_unix_mount_monitor_set_rate_limit() and turn it into a
no-op.
This function doesn't behave as advertised. It only controls rate
limiting for filesystem-based monitors. It has no impact over reporting
mount changes on Linux, for example, because those are based on polling
for changes in /proc (which doesn't use filesystem monitors). It also
has no impact on Mac OS because a library interface is used there.
This was added in https://bugzilla.gnome.org/show_bug.cgi?id=521946 in
order to be used by HAL, which is effectively dead. udisks no longer
uses this code at all.
https://bugzilla.gnome.org/show_bug.cgi?id=742599
Ryan Lortie [Thu, 8 Jan 2015 07:03:18 +0000 (02:03 -0500)]
Rename g_unix_mount_monitor_new() to _get()
This is a singleton, but we have a function called _new() to get it.
What's worse is that the documentation makes no mention of this, and
actually specifically says that a new monitor will be created each time.
https://bugzilla.gnome.org/show_bug.cgi?id=742599
Ryan Lortie [Thu, 8 Jan 2015 07:36:26 +0000 (02:36 -0500)]
GAppInfoMonitor: port to GContextSpecificGroup
https://bugzilla.gnome.org/show_bug.cgi?id=742599
Ryan Lortie [Thu, 8 Jan 2015 04:09:30 +0000 (23:09 -0500)]
Add internal helper GContextSpecificGroup
Add a new internal helper called GContextSpecificGroup.
This is a mechanism for helping to maintain a group of context-specific
monitor objects (eg: GAppInfoMonitor, GUnixMountMonitor).
https://bugzilla.gnome.org/show_bug.cgi?id=742599
Piotr Drąg [Mon, 2 Mar 2015 19:26:45 +0000 (20:26 +0100)]
Updated Polish translation
Ryan Lortie [Mon, 2 Mar 2015 16:54:48 +0000 (11:54 -0500)]
GLib 2.43.91
Ryan Lortie [Fri, 27 Feb 2015 12:50:28 +0000 (07:50 -0500)]
GApplication: don't iterate further on _quit()
If someone explicitly calls g_application_quit() then don't attempt to
drain the mainloop of remaining sources.
This allows applications with 100% CPU utilisation to quit reliably.
https://bugzilla.gnome.org/show_bug.cgi?id=744876
Rico Tzschichholz [Sun, 1 Mar 2015 17:12:09 +0000 (18:12 +0100)]
gio: Add some missing type annotations to object arguments
Similar to https://bugzilla.gnome.org/show_bug.cgi?id=745239
Ryan Lortie [Sun, 1 Mar 2015 05:47:17 +0000 (00:47 -0500)]
tests: only chmod autorun.exe on UNIX
We install win32-software/autorun.exe (as test data for mime scanning)
only on UNIX builds, so don't attempt to chmod it on 'make install'
unless we're on UNIX.
Aurimas Černius [Sat, 28 Feb 2015 19:25:35 +0000 (21:25 +0200)]
Updated Lithuanian translation
Dušan Kazik [Sat, 28 Feb 2015 12:53:36 +0000 (12:53 +0000)]
Updated Slovak translation
Marc-Antoine Perennou [Sat, 9 Nov 2013 03:09:20 +0000 (12:09 +0900)]
make *_get_instance_private const-compliant
This is pure read-only access to an external struct
so void warnings for people calling it from const
contexts such as accessors
https://bugzilla.gnome.org/show_bug.cgi?id=745068
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Marc-Antoine Perennou [Tue, 24 Feb 2015 08:17:33 +0000 (09:17 +0100)]
G_DECLARE_*: be const-compliant
switching to the old macros boilerplate to G_DECLARE_*
a lot of warnings start to pop when *_IS_A_* or such are
called from a const context.
Fix this by taking const pointers as parameters
https://bugzilla.gnome.org/show_bug.cgi?id=745068
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
Evan Nemerson [Thu, 26 Feb 2015 18:17:59 +0000 (10:17 -0800)]
GPropertyAction: add type annotation to constructor's object argument
https://bugzilla.gnome.org/show_bug.cgi?id=745239
David King [Mon, 9 Feb 2015 11:23:58 +0000 (11:23 +0000)]
gobject.h: Use correct format specifier for __LINE__
GCC 5.0, with its new -Wformat-signedness, warns about the sign being
different between a type and the format string in printf-format
messages, leading to compiler warnings with G_OBJECT_WARN_INVALID_PSPEC.
In other uses of __LINE__ inside GLib, %d is used, and GCC seems to
expect a format specifier of %d as well:
https://gcc.gnu.org/onlinedocs/cpp/Standard-Predefined-Macros.html
https://bugzilla.gnome.org/show_bug.cgi?id=744263
Philip Withnall [Tue, 24 Feb 2015 10:57:14 +0000 (10:57 +0000)]
gcancellable: Mention nullability in g_cancellable_cancel() docs
Calling g_cancellable_cancel(NULL) is an explicitly allowed no-op, for
convenience. Document and annotate that.
Alexandre Franke [Tue, 24 Feb 2015 00:42:43 +0000 (00:42 +0000)]
Updated French translation
Colin Walters [Mon, 23 Feb 2015 13:32:36 +0000 (08:32 -0500)]
tests: Add many autoptr tests
I love Emacs keyboard macros, used them to convert the list of
defines cleverly into a list of tests, then iterated and filled in
the necessary constructor arguments.
Colin Walters [Mon, 23 Feb 2015 12:56:34 +0000 (07:56 -0500)]
autocleanups: Remove g_autoptr(gchar)
- It's not sufficient, there are other bare array types
like guint8, gdouble, etc.
- Other types like GVariant* always come as pointers, whereas
there's a rather fundamental distinction between "gchar" and
"gchar*" that has been signified to C programmers for 30+ years via
the '*' character, and we're hiding that.
https://bugzilla.gnome.org/show_bug.cgi?id=744747
Colin Walters [Sun, 15 Feb 2015 13:58:44 +0000 (08:58 -0500)]
Add g_autofree
The g_autoptr() being associated with the type name works out really
well for things like GHashTable. However, it's a bit more awkward to
associate with "gchar". Also because one can't use "char".
Similarly, there are a lot of other "bare primitive array" types that
one might reasonably use.
This patch does not remove the autoptr for "gchar", even though I
think it's rather awkward and strange.
Also while we're here, add a test case for the cleanup bits.
https://bugzilla.gnome.org/show_bug.cgi?id=744747
Ryan Lortie [Sat, 21 Feb 2015 15:24:23 +0000 (10:24 -0500)]
GApplication: let the main loop drain on shutdown
After ::shutdown, run the mainloop until all pending activity is
handled, before returning from run().
Among other things, this gives a chance for destroyed windows to be
properly withdrawn from the windowing system.
https://bugzilla.gnome.org/show_bug.cgi?id=744876
Chao-Hsiung Liao [Sat, 21 Feb 2015 11:09:48 +0000 (11:09 +0000)]
Updated Chinese (Taiwan) translation
Emmanuele Bassi [Fri, 20 Feb 2015 19:54:07 +0000 (19:54 +0000)]
gobject: Add missing autocleanup for GInitiallyUnowned
We are missing the auto cleanup function for this type, which means
G_DECLARE_* macros won't work with classes inheriting from
GInitiallyUnowned.
Colin Walters [Fri, 20 Feb 2015 19:35:59 +0000 (14:35 -0500)]
gfileenumerator: Convert docbook tag -> markdown
This code predated the markdown conversion. Pointed out by mclasen.
Colin Walters [Thu, 12 Feb 2015 23:20:14 +0000 (18:20 -0500)]
filenumerator: Add g_file_enumerator_iterate()
This is *significantly* more pleasant to use from C (while handling
errors and memory cleanup).
While we're here, change some ugly, leaky code in
tests/desktop-app-info.c to use it, in addition to a test case
in tests/file.c.
https://bugzilla.gnome.org/show_bug.cgi?id=661554
Colin Walters [Thu, 19 Feb 2015 23:31:29 +0000 (18:31 -0500)]
autocleanups: Add G*Array types
Not sure how these were omitted. Probably few people are really using
this yet...and we don't have test cases (that's in the other patch).
https://bugzilla.gnome.org/show_bug.cgi?id=744830
Philip Withnall [Thu, 19 Feb 2015 14:03:43 +0000 (14:03 +0000)]
gliststore: Add missing parameter documentation
Fran Dieguez [Thu, 19 Feb 2015 10:00:05 +0000 (11:00 +0100)]
Updated Galician translations
Lars Uebernickel [Wed, 18 Feb 2015 23:41:42 +0000 (00:41 +0100)]
gapplication: test setting and binding busy state
https://bugzilla.gnome.org/show_bug.cgi?id=744756
Lars Uebernickel [Wed, 18 Feb 2015 23:33:01 +0000 (00:33 +0100)]
gapplication: add "is-busy"
A property to query the current busy state of an application.
https://bugzilla.gnome.org/show_bug.cgi?id=744756
Ryan Lortie [Wed, 18 Feb 2015 21:45:59 +0000 (16:45 -0500)]
gapplication: stop using deprecated API
More fallout from the GOptionGroup binding patch.
Lars Uebernickel [Tue, 17 Feb 2015 07:39:05 +0000 (08:39 +0100)]
gapplication: tune busy-binding
g_application_bind_busy_property() had the restriction that only one
property can be bound per object, so that NULL could be used to unbind.
Even though this is enough for most uses, it is a weird API.
Lift that restriction and add an explicit unbind function.
https://bugzilla.gnome.org/show_bug.cgi?id=744565
Ryan Lortie [Wed, 18 Feb 2015 16:03:03 +0000 (11:03 -0500)]
GLib 2.43.90
Piotr Drąg [Wed, 18 Feb 2015 12:43:12 +0000 (13:43 +0100)]
Updated POTFILES.in
Milo Casagrande [Wed, 18 Feb 2015 08:12:00 +0000 (08:12 +0000)]
Updated Italian translation
Ryan Lortie [Tue, 20 Jan 2015 13:38:18 +0000 (08:38 -0500)]
tests: add GSimpleIOStream async close tests
Just a couple of tests to make sure the two paths are working properly,
without crashes or leaks.
https://bugzilla.gnome.org/show_bug.cgi?id=741630
Ignacio Casal Quinteiro [Wed, 17 Dec 2014 08:11:29 +0000 (09:11 +0100)]
Add GSimpleIOStream class
GSimpleIOStream represents an object that wraps an input and an output
stream making easy to use them by calling the #GIOStream methods.
https://bugzilla.gnome.org/show_bug.cgi?id=741630
Ryan Lortie [Tue, 20 Jan 2015 13:11:02 +0000 (08:11 -0500)]
GIOStream: support for unemulated async close()
Add an implementation of non-thread-emulated async close of a GIOStream
if either of the underlying stream objects support it.
This prevents us from calling close() functions from another thread on
an object that may not be expecting that. It also allows us to skip the
thread entirely in case our objects support a pure async close.
https://bugzilla.gnome.org/show_bug.cgi?id=741630
Ryan Lortie [Tue, 20 Jan 2015 13:09:33 +0000 (08:09 -0500)]
streams: add private 'async close via threads' API
Add an internal helper to find out if close_async() is implemented via
threads using the default implementation in the base class.
We will use this to decide if we should do a 'pure async' close of a
GIOStream or not.
https://bugzilla.gnome.org/show_bug.cgi?id=741630
Ryan Lortie [Tue, 20 Jan 2015 17:54:09 +0000 (12:54 -0500)]
streams: de-gtkdocify internal API
Remove the /** **/-style block from two internal helpers to prevent
gtk-doc from picking them up.
https://bugzilla.gnome.org/show_bug.cgi?id=741630
Marc-André Lureau [Thu, 12 Feb 2015 21:29:36 +0000 (22:29 +0100)]
gdbus: delay closing stream after read finish
Closing the stream on the writing side my race with a pending read. This
patch ensures that closing is delayed after reading is finished.
https://bugzilla.gnome.org/show_bug.cgi?id=743990
Ryan Lortie [Wed, 4 Feb 2015 16:47:39 +0000 (17:47 +0100)]
tests: check for NULL before g_object_unref()
delayed_close_free() calls g_object_unref() on a variable that is
expected to possibly contain NULL (as indicated by the fact that the
NULL case is handled in my_slow_close_output_stream_close_async()).
This is dead code right now (due to a bug in GDBus), which is why it
isn't actually causing a failure. It should still be fixed, however.
https://bugzilla.gnome.org/show_bug.cgi?id=743990
Colin Walters [Tue, 17 Feb 2015 18:36:20 +0000 (13:36 -0500)]
autocleanups: Use g_option_context_unref()
This fixes a use of a deprecated API.
Lars Uebernickel [Wed, 4 Feb 2015 10:01:41 +0000 (11:01 +0100)]
gapplication: never set the prgname to the app id
GApplication set the prgname to the application's id when it was running
in service mode. This broke with the addition of new --app-id option,
because g_set_prgname() was called before parsing the options. Calling
it after option parsing doesn't work, because GOptionContext sets
prgname to argv[0] unconditionally.
Instead of changing the semantics of GOptionContext, simply remove this
functionality from GApplication. It is very unusual to have the prgname
set to the app id instead of the binary's name and might confuse people
when looking at logs etc.
When overriding local_command_line() from a subclass,
g_option_context_parse() might never be invokded. Thus, continue setting
the prgname to argv[0] in GApplication.
https://bugzilla.gnome.org/show_bug.cgi?id=743933
Milo Casagrande [Tue, 17 Feb 2015 13:32:06 +0000 (13:32 +0000)]
Updated Italian translation
Lars Uebernickel [Sun, 15 Feb 2015 17:54:13 +0000 (18:54 +0100)]
gapplication: add bind_busy_property()
Balancing g_application_{un,}mark_busy() is non-trivial in some cases.
Make it a bit more convenient by allowing to bind multiple boolean
properties (from different objects) to the busy state. As long as these
properties are true, the application is marked as busy.
https://bugzilla.gnome.org/show_bug.cgi?id=744565
Matej Urbančič [Sun, 15 Feb 2015 20:11:57 +0000 (21:11 +0100)]
Updated Slovenian translation
Sebastian Rasmussen [Sun, 15 Feb 2015 19:49:43 +0000 (19:49 +0000)]
Updated Swedish translation
Ivan Komaritsyn [Sun, 15 Feb 2015 06:10:44 +0000 (09:10 +0300)]
Updated Russian translation
Efstathios Iosifidis [Sat, 14 Feb 2015 15:09:14 +0000 (17:09 +0200)]
Updated Greek translation
Phillip Wood [Wed, 5 Nov 2014 15:04:45 +0000 (15:04 +0000)]
Test functions should have async scope
The testing utilities execute fixture and test functions
asynchronously.
https://bugzilla.gnome.org/show_bug.cgi?id=739724
Kjartan Maraas [Thu, 12 Feb 2015 00:27:02 +0000 (01:27 +0100)]
Updated Norwegian bokmål translation.
Bastien Nocera [Thu, 22 Jan 2015 13:44:47 +0000 (14:44 +0100)]
goption: Add boxed type for GOptionGroup
This would allow bindings to use _get_option_group() functions, which
would then allow them to use GOption parsing.
This also adds introspection annotations to
g_option_context_add_group(), g_option_context_set_main_group() and
g_option_context_get_main_group().
https://bugzilla.gnome.org/show_bug.cgi?id=743349
Philip Withnall [Tue, 2 Dec 2014 15:00:45 +0000 (15:00 +0000)]
glist: Mention that g_list_length() is bad for checking list emptiness
Despite linked lists being a fairly fundamental computer science
concept, some developers insist on using:
g_list_length (list) > 0
to determine whether a list is non-empty, rather than using:
list != NULL
Add a comment to the documentation for g_list_length() and
g_slist_length() pointing out the better alternative in the hope that it
will prevent some of this abuse.
https://bugzilla.gnome.org/show_bug.cgi?id=741024
Matthias Clasen [Wed, 11 Feb 2015 00:49:10 +0000 (19:49 -0500)]
2.43.4
Jasper St. Pierre [Tue, 10 Feb 2015 19:50:53 +0000 (11:50 -0800)]
Update .gitignore
Chun-wei Fan [Mon, 9 Feb 2015 07:42:01 +0000 (15:42 +0800)]
gmem.h, gthread.h: Include glib/gutils.h
gmem.h and gthread.h made use of the inline keyword, that is not available
on all compilers in C-mode, causing builds to break on such compilers.
Include glib/gutils.h which handles the inline issue, in place of
glib/gtypes.h if applicable, which is included quite early on by
glib/gutils.h.
https://bugzilla.gnome.org/show_bug.cgi?id=744190
Sébastien Wilmet [Sun, 5 Oct 2014 13:12:25 +0000 (15:12 +0200)]
GI annotation for g_get_charset()
https://bugzilla.gnome.org/show_bug.cgi?id=736914
Sébastien Wilmet [Thu, 18 Sep 2014 15:16:59 +0000 (17:16 +0200)]
docs: code example for enumeration types
I had to read the GTK+ code recently to have an example.
https://bugzilla.gnome.org/show_bug.cgi?id=736914
Ryan Lortie [Fri, 6 Feb 2015 16:00:01 +0000 (17:00 +0100)]
g_steal_pointer: make it C++ clean
We have a test that #includes our headers from a C++ program to make
sure we don't throw any errors or warnings as a result of that.
The new inline implementation of g_steal_pointer() does an implicit
conversion from (void *), which is not valid in C++.
Add a cast to avoid the problem.
Thanks to Ignacio Casal Quinteiro for the report.
Ryan Lortie [Fri, 6 Feb 2015 11:41:57 +0000 (12:41 +0100)]
tests: add a test case for g_steal_pointer()
Just some basic checking to make sure it works as intended.
https://bugzilla.gnome.org/show_bug.cgi?id=742456
Ryan Lortie [Fri, 6 Feb 2015 11:38:26 +0000 (12:38 +0100)]
Add new API g_steal_pointer()
This is particularly nice when used with g_autoptr(). See examples in
the docs.
This patch is based upon an idea (and original patch submission) from
Will Manley <will@williammanley.net>.
https://bugzilla.gnome.org/show_bug.cgi?id=742456
Xavier Claessens [Tue, 3 Feb 2015 15:40:15 +0000 (10:40 -0500)]
GListModel: Use G_DECLARE_INTERFACE
https://bugzilla.gnome.org/show_bug.cgi?id=743939
Xavier Claessens [Tue, 3 Feb 2015 15:40:07 +0000 (10:40 -0500)]
Add G_DECLARE_INTERFACE
https://bugzilla.gnome.org/show_bug.cgi?id=743939
Xavier Claessens [Thu, 5 Feb 2015 15:35:42 +0000 (10:35 -0500)]
Add GMutexLocker
https://bugzilla.gnome.org/show_bug.cgi?id=744012
Xavier Claessens [Thu, 5 Feb 2015 15:20:43 +0000 (16:20 +0100)]
docs: fix up docs issues in gio/
Xavier Claessens [Thu, 5 Feb 2015 14:24:27 +0000 (15:24 +0100)]
docs: fix many documentation issues in gobject/
Ryan Lortie [Wed, 4 Feb 2015 15:29:56 +0000 (16:29 +0100)]
docs: fix typo in g_settings_new_full() docstring
Ryan Lortie [Wed, 4 Feb 2015 14:37:27 +0000 (15:37 +0100)]
docs: add a bunch of pointless documentation
Document each of the baked-in CClosure marshallers that we have in
gobject, along with their #GVaClosureMarshal equivalents.
Based on a patch from Xavier Claessens <xavier.claessens@collabora.com>.
Xavier Claessens [Mon, 2 Feb 2015 14:46:31 +0000 (09:46 -0500)]
Doc: Fix g_auto and g_autoptr typo
Xavier Claessens [Mon, 2 Feb 2015 20:00:25 +0000 (15:00 -0500)]
Doc: Add missing functions in gio.types
This is made by doing a build with --rebuild-types option,
then manually remove those functions:
g_win32_input_stream_get_type
g_win32_output_stream_get_type
g_io_extension_get_type
Maybe Makefile.am could remove them automatically so we can
remove gio.types from git and rely on --rebuild-types option?
Xavier Claessens [Mon, 2 Feb 2015 19:41:04 +0000 (14:41 -0500)]
Doc: sort and uniquify gio.types
Xavier Claessens [Fri, 30 Jan 2015 16:40:46 +0000 (11:40 -0500)]
Doc: Fix GListModel/GListStore
Chun-wei Fan [Wed, 4 Feb 2015 08:00:52 +0000 (16:00 +0800)]
Visual Studio 2008 Builds: Fix Header "Installation"
Apparently I did not fix the "installation" of gliststore.h and
glistmodel.h fully for Visual Studio 2008 builds. Fix that. Doh!
Aurélien Zanelli [Tue, 3 Feb 2015 14:41:05 +0000 (15:41 +0100)]
gnulib/vasprintf: handle unsigned modifier for long long
Otherwise, an unsigned integer will be displayed as a signed one if we
use internal printf and if HAVE_LONG_LONG_FORMAT is not defined.
https://bugzilla.gnome.org/show_bug.cgi?id=743936
Lars Uebernickel [Tue, 3 Feb 2015 15:06:53 +0000 (16:06 +0100)]
GListStore: fix preconditions in insert_sorted()
Xavier Claessens [Tue, 3 Feb 2015 14:57:54 +0000 (15:57 +0100)]
docs: fix typos in G_DECLARE_*_TYPE
https://bugzilla.gnome.org/show_bug.cgi?id=743656
Ryan Lortie [Tue, 3 Feb 2015 12:42:59 +0000 (13:42 +0100)]
tests: add test for GListStore inserted sort
https://bugzilla.gnome.org/show_bug.cgi?id=743927
Ryan Lortie [Tue, 3 Feb 2015 12:18:10 +0000 (13:18 +0100)]
GListStore: add sorted insert function
Add g_list_store_insert_sorted() which takes a GCompareDataFunc to
decide where to insert. This ends up being a very trivial function,
thanks to GSequence.
https://bugzilla.gnome.org/show_bug.cgi?id=743927
Chun-wei Fan [Mon, 2 Feb 2015 15:25:31 +0000 (23:25 +0800)]
gtype.h: Fix Build on non-GCC
Use the (private) _GLIB_DEFINE_AUTOPTR_CHAINUP macro for
G_DECLARE_DERIVABLE_TYPE and G_DECLARE_FINAL_TYPE so that we will
attempt to typedef and define items necessary for GCC
__attribute__((cleanup)) on, well, GCC only.
This fixes the build on non-GCC.
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Chun-wei Fan [Mon, 2 Feb 2015 15:21:35 +0000 (23:21 +0800)]
gmacros.h: Add Private Macro _GLIB_DEFINE_AUTOPTR_CHAINUP
This is necessary as we are using _GLIB_AUTOPTR_TYPENAME and
_GLIB_AUTOPTR_FUNC_NAME in gtype.h for G_DECLARE_DERIVABLE_TYPE and
G_DECLARE_FINAL_TYPE, but _GLIB_AUTOPTR_TYPENAME and
_GLIB_AUTOPTR_FUNC_NAME expand to nothing on non-GCC, causing builds on
non-GCC to break, due to bad typedef and function definitions.
This patch defines a new private macro which does what is needed on GCC
builds and does nothing on non-GCC builds, thus fixing the build.
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Chun-wei Fan [Mon, 2 Feb 2015 05:33:18 +0000 (13:33 +0800)]
glistmodel.h: Fix _GListModelInterface Define
"interface" is a reserved word on Visual Studio, so fix the build by
using g_iface instead.
https://bugzilla.gnome.org/show_bug.cgi?id=743827
Ryan Lortie [Mon, 2 Feb 2015 08:16:55 +0000 (09:16 +0100)]
fix G_DEFINE_AUTO_CLEANUP_FREE_FUNC on non-GCC
Add the missing 'none' argument to this macro in the non-GCC case. The
none parameter was added after the others and I forgot to update the
non-GCC case.
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Ryan Lortie [Fri, 30 Jan 2015 16:38:45 +0000 (17:38 +0100)]
docs: link the GListModel docs from the index
Chun-wei Fan [Mon, 2 Feb 2015 06:27:29 +0000 (14:27 +0800)]
MSVC Builds: Fix "Installation" of GListModel Headers
Somehow I had the wrong path for getting the headers... oops.
Chun-wei Fan [Mon, 2 Feb 2015 06:16:18 +0000 (14:16 +0800)]
MSVC Builds: Update vs11|vs12/Makefile.am
The rename of install.vxproj to glib-install.vcxproj needs to be applied
here as well for dist'ing the project files correctly.
Chun-wei Fan [Mon, 2 Feb 2015 04:49:42 +0000 (12:49 +0800)]
MSVC Builds: Rename "install" Projects
Rename the project to "install" the GLib files, as we are planning to have
a grand solution file that would build the entire GTK+ stack with its deps,
to ease the process for people building the GTK+ stack from a stock
installation of Visual Studio.
Chun-wei Fan [Mon, 2 Feb 2015 03:16:29 +0000 (11:16 +0800)]
gobject\gtype.h: Make up for Missing '\'
The macro definition for G_DECLARE_DERIVABLE_TYPE was missing a '\' when
we wanted to ignore deprecation warnings for it.
Chun-wei Fan [Mon, 2 Feb 2015 03:14:07 +0000 (11:14 +0800)]
One More Update For MSVC Builds
We also need to "install" the headers for Lars' new APIs for GListModel/
GListStore.
Chun-wei Fan [Mon, 2 Feb 2015 02:51:25 +0000 (10:51 +0800)]
MSVC Builds: "Install" the Autocleanup Headers
We are including the autocleanup headers as public headers for all builds,
although they work only for GCC in reality, so "install" them.
Also clean up a bit as we are having "\\" in places, where we only need
"\".
Ryan Lortie [Fri, 30 Jan 2015 14:21:20 +0000 (15:21 +0100)]
gio: add support for g_auto() and g_autoptr()
Add support to libgio types for the new cleanup macros.
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Ryan Lortie [Wed, 28 Jan 2015 11:47:05 +0000 (11:47 +0000)]
G_DECLARE_*_TYPE: add auto cleanup support
Automatically add support for the new cleanup macros to the type
declaration macros.
This is an API break because now your parent class needs to support
cleanup if you want to use G_DECLARE_*_TYPE. These macros are only 1
day old, however, so that's probably not a big problem (and we are
already busy adding the macros all over GLib and Gtk+).
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Ryan Lortie [Wed, 28 Jan 2015 11:46:34 +0000 (11:46 +0000)]
gobject: add support for g_auto() and g_autoptr()
Add support to libgobject types for the new cleanup macros.
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Ryan Lortie [Wed, 28 Jan 2015 11:45:26 +0000 (11:45 +0000)]
glib: add support for g_auto() and g_autoptr()
Add support to the libglib types for the new cleanup macros.
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Ryan Lortie [Wed, 28 Jan 2015 11:27:35 +0000 (11:27 +0000)]
macros: add support for GNUC cleanup __attribute__
Add g_auto() and g_autoptr() as helpers for declaring variables with
automatic cleanup.
Add some macros to help types define cleanup functions for themselves.
Going forward it will be an expectation that people use this macro when
creating a new type, even if they do not intend to use the auto-cleanup
functionality for themselves.
These new macros only work on GCC and clang, which is why we resisted
adding them for so long. There exist many people who are only
interested in writing programs for these compilers, however, and a
similar API in libgsystem has proven to be extremely popular, so let's
expose this functionality to an even wider audience.
We ignore deprecation warnings when emitting the free functions, which
seems suspicious. The reason that we do this is not because we want to
call deprecated functions, but just the opposite: sometimes the free
function will be an _unref() function that is only AVAILABLE_IN newer
versions, and these warnings are also implemented as deprecation
warnings.
https://bugzilla.gnome.org/show_bug.cgi?id=743640
Ryan Lortie [Fri, 30 Jan 2015 15:40:03 +0000 (16:40 +0100)]
DECLARE_TYPE: ignore deprecations in inlines
Prevent complaints about deprecations in the inline functions emitted by
the new G_DECLARE_*_TYPE macros.
Ryan Lortie [Wed, 28 Jan 2015 11:30:23 +0000 (11:30 +0000)]
G_DECLARE_FINAL_TYPE: trivial fix in docs comment
https://bugzilla.gnome.org/show_bug.cgi?id=743640