Commit Graph

2566 Commits

Author SHA1 Message Date
Dan Winship
e798349587 GMemoryInputStream/GMemoryOutputStream: fix bug in previous commit
A g_input_stream_read_async() implementation can't call
g_input_stream_read() on itself directly because it will fail because
the pending flag is already set. So fix that by invoking the vmethod
directly rather than calling the wrapper. Likewise with
GMemoryOutputStream.

Add a test to gio/tests/memory-input-stream.c to catch read_async
failures in the future.
2011-12-01 13:10:25 +01:00
Dan Winship
a5876e5fc1 GMemoryInputStream/GMemoryOutputStream: make these properly subclassable
The async methods were directly invoking their own implementations of
the sync methods, making it impossible for a subclass to reimplement
them.

https://bugzilla.gnome.org/show_bug.cgi?id=664635
2011-11-30 10:34:19 +01:00
Matthias Clasen
3aa0fc43a6 Clarify local_command_line docs
https://bugzilla.gnome.org/show_bug.cgi?id=641720
2011-11-29 22:10:37 -05:00
Dan Winship
1f33446e1f gnetworkmonitornetlink.c: Make the error messages less geeky
This makes several different errors have identical messages, but
they're pretty much "can't happen" situations anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=664406
2011-11-29 21:45:37 +01:00
Dan Winship
69043de3e0 gzlibdecompressor.c: fix a comment 2011-11-29 21:43:00 +01:00
Michael Vogt
0627759331 Add missing annotation to g_file_set_attribute()
g_file_set_attribute() also permits a NULL value for value_p, and requires it
to be NULL to unset it. Also fix the wrong variable name in the documentation.

Signed-off-by: Martin Pitt <martin.pitt@ubuntu.com>
2011-11-29 12:01:25 +01:00
Matthias Clasen
30580bdca7 Forgot one interface... 2011-11-28 19:57:44 -05:00
Matthias Clasen
8013401f6e Use an XML blob for gapplication interface info
This is both more readable and more efficient. Double win !
2011-11-28 19:33:24 -05:00
Ryan Lortie
01ce06ac27 gio.symbols: add g_application_[gs]et_default() 2011-11-26 20:28:50 -05:00
Matthias Clasen
c7dc66602a Cosmetics
Reword the title of GSimpleAction in the docs.
2011-11-26 20:12:34 -05:00
Ryan Lortie
a81cdf297c GApplication: add default application 2011-11-26 20:11:40 -05:00
Ryan Lortie
95c3796d6a GApplication: unregister action interface export
We missed a few cases of unexporting the action group interface (in
error cases, and on GApplication teardown).
2011-11-26 20:07:24 -05:00
Matthias Clasen
2cbc6d9ae6 GApplication: Implement query_action 2011-11-26 19:43:46 -05:00
Matthias Clasen
c3a2c280c3 GSimpleActionGroup: Implement query_action 2011-11-26 19:27:30 -05:00
Ryan Lortie
f468e9c309 Add g_action_group_query_action()
This new API allows requesting multiple pieces of information about a
particular action in one go and also simplifies the burden for
GActionGroup implementations -- they need not implement all the separate
APIs now.
2011-11-26 19:25:32 -05:00
Simon McVittie
0104c62f3f GInitable, GAsyncInitable: not initializing gives undefined behaviour
This is the ISO C sense of undefined behaviour, in which
works-by-coincidence, critical warning, abort, demons-fly-out-of-your-nose
are all valid implementations.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662208
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: David Zeuthen <davidz@redhat.com>
2011-11-23 12:30:06 +00:00
Simon McVittie
968ef5f5ff GDBusWorker: continue_writing: initialize flush_async_data if closing
This was a regression in commit f41178c6c: flush_async_data wasn't
necessarily NULL in the "don't flush" case.

Also move initialization of these variables up so that it's
unconditional, since that's easier to verify than checking
that each branch gets it right.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=664617
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-11-23 11:20:15 +00:00
Ryan Lortie
345688c9e9 GApplication: don't fail if can't get session bus
If we can't get on the session bus, just behave like a normal non-unique
application.

This turns out to be remarkably easy to implement and lets us avoid
adding a 'dummy' backend.

Add a test for this case as well.

Idea from Zachary Dovel.

https://bugzilla.gnome.org/show_bug.cgi?id=651997
2011-11-22 17:35:56 -05:00
Simon McVittie
c4a11858cf GDBusConnection: don't pass boolean > 1 to _g_dbus_worker_new
This happens to work at the moment (because GDBusWorker.frozen is a
gboolean and not just a 1-bit bitfield), but isn't right: the gboolean
ends up with values 0 or G_DBUS_CONNECTION_FLAGS_DELAY_MESSAGE_PROCESSING
(which is more than 1).

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=664558
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: David Zeuthen <davidz@redhat.com>
2011-11-22 16:08:14 +00:00
Dan Winship
95faa44f2d GSocketInputStream/GSocketOutputStream: fix win32 build
based on a patch from Chun-wei Fan

https://bugzilla.gnome.org/show_bug.cgi?id=664455
2011-11-22 08:56:54 -05:00
Rico Tzschichholz
38a00cec67 gio/tests: Fix for -Werror=format-security 2011-11-21 23:06:15 +01:00
Ryan Lortie
59623973fa dist gio/tests/key8.pem 2011-11-21 14:23:17 -05:00
Simon McVittie
4bb411948c Add test case for #662395
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
2011-11-21 18:16:51 +00:00
Simon McVittie
96deb40caa GDBus tests: factor out TestIOStream, test_pipe and test_bidi_pipe
These might even make useful public API if they grew a Windows
implementation, but for now they can be Unix-only test API.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
2011-11-21 18:15:26 +00:00
Simon McVittie
bae9928246 _g_dbus_worker_flush_sync: always flush if we need to
We didn't previously flush in a couple of cases where we should have
done:

* a write is running when flush is called: we should flush after it
  finishes

* writes have been made since the last flush, but none are pending or
  running right now: we should flush the underlying transport straight
  away

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
2011-11-21 18:12:30 +00:00
Simon McVittie
f41178c6c7 GDBusWorker: move flush async op into continue_writing()
This makes it easier to schedule a flush, by putting it on the same code
path as writing and closing.

Also change message_written to expect the lock to be held, since all
that's left in that function either wants to hold the lock or doesn't
care, and it's silly to release the lock immediately before calling
message_written, which just takes it again.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
2011-11-21 18:10:11 +00:00
Simon McVittie
301332168b schedule_write_in_worker_thread: require caller to lock; rename accordingly
When we use this function to schedule a flush, it'll be called
with the lock held. Releasing and immediately re-taking the lock would
be pointless.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
2011-11-21 17:42:58 +00:00
Simon McVittie
56eb16ff50 GDBusWorker: rename some functions
maybe_write_next_message now also closes, and I'm about to make it
consider whether to flush as well, so its name is increasingly
inappropriate. Similarly, write_message_in_idle_cb is a wrapper around
it which could do any of those things.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
2011-11-21 17:40:51 +00:00
Simon McVittie
18482ab17e GDBusWorker: distinguish between 3 sorts of output that might be pending
If the user calls flush_sync() with no messages in the queue, but an
async write call pending, then we ought to flush after that async write
returns (although we don't currently do that). If it was an async close
or flush that was pending, there's no need to flush (again) afterwards.
So, we need to distinguish.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=662395
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Cosimo Alfarano <cosimo.alfarano@collabora.co.uk>
2011-11-21 17:21:35 +00:00
Ryan Lortie
a795e563df Drop last uses of @returns: 2011-11-21 12:02:02 -05:00
Matthias Clasen
f62ee0a0ca GSocketClient: Drop @returns syntax from doc comments 2011-11-21 11:03:31 -05:00
Matthias Clasen
b9f0cb0f07 GSimplePermission: Drop @returns syntax in doc comments 2011-11-21 11:02:30 -05:00
Matthias Clasen
2011ecd6ac GPermission: Drop @returns syntax from doc comments 2011-11-21 11:01:16 -05:00
Chun-wei Fan
3aeddaa2d4 gio/Makefile.am
Filter out yet another *nix only source file from the Visual C++ project
file completion rules.
2011-11-21 11:53:02 +08:00
Matthias Clasen
0878f5ba43 GFile: Add some introspection annotations
progress_callback in g_file_copy and g_file_copy_async may be NULL.
Annotations should reflect that. Pointed out by Carlo Teubner.

https://bugzilla.gnome.org/show_bug.cgi?id=664415
2011-11-20 15:12:05 -05:00
Matthias Clasen
d920cb6bdb GApplication: unregister bus name
https://bugzilla.gnome.org/show_bug.cgi?id=647987
2011-11-19 16:24:08 -05:00
Matthias Clasen
6c7387f6d1 Trivial doc typo fix 2011-11-19 16:23:33 -05:00
Dan Winship
1dc8d1f932 GTlsCertificate: support unencrypted PKCS#8 private keys
PKCS#8 is the "right" way to encode private keys. Although the APIs do
not currently support encrypted keys, we should at least support
unencrypted PKCS#8 keys.

https://bugzilla.gnome.org/show_bug.cgi?id=664321
2011-11-18 20:26:58 -05:00
Nicolas Dufresne
cb74c36678 [gio] Terminate connect call when application proxy is used
The connect_async() calls would never terminated when an application side
proxy was being used. Note we also skip over TLS handshake in this case,
as the application may have to do some proxy handshake before.
2011-11-18 12:32:42 -05:00
Giovanni Campagna
71d3dad3ff GPollable*Stream: expose source methods to introspection
GSource has been introspectable for a while, so can stop skipping
methods of GPollableInputStream/OutputStream that return it.

https://bugzilla.gnome.org/show_bug.cgi?id=664302
2011-11-18 15:20:41 +01:00
Ryan Lortie
f9cc078671 We need <locale.h> in gsettingsschema.c now
for LC_TIME (since we moved a bunch of code over from gsettings.c).
2011-11-18 09:41:52 +00:00
Nicolas Dufresne
4ae42ceb3c Clear proxy address upon retry
The proxy address was not cleared between each attempt. That would lead
to leak or worse, trying to do the proxy handshake on the final
destination address. To make all this safer, I have regroup all the cleanup
where the iterations starts.

https://bugzilla.gnome.org/show_bug.cgi?id=664141
2011-11-17 23:13:35 -05:00
Alexandre Rostovtsev
dc89b51c2d _g_dbus_get_machine_id(): check /etc/machine-id too
machine-id can be in /etc or in /var/lib/dbus.

[amended with slightly revised error handling -smcv]

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=663928
2011-11-17 23:09:50 -05:00
Rico Tzschichholz
8d9f600aea Remove redefinition of typedef 'GSettingsSchemaSource' 2011-11-17 19:46:54 +01:00
Ryan Lortie
7f28529190 g_settings_new_full(): more docs 2011-11-17 17:33:19 +00:00
Ryan Lortie
ee31c7f4ed add plugin example for GSettingsSchemaSource 2011-11-17 14:03:39 +00:00
Ryan Lortie
a4421529b8 Add gtk-doc for gsettingsschema{,source} 2011-11-17 14:03:39 +00:00
Matthias Clasen
011a71cf71 'make dist' fixes 2011-11-17 14:03:39 +00:00
Matthias Clasen
97cf2d78c5 settings-source test: Check returned error as well 2011-11-17 14:03:39 +00:00
Matthias Clasen
a7ce1953fa Trivial typo fix 2011-11-17 14:03:39 +00:00