Commit Graph

19625 Commits

Author SHA1 Message Date
Sebastian Dröge
c39264d35b Implement GOutputStream::writev_fn() for GLocalFileOutputStream on UNIX 2019-01-24 16:25:40 +02:00
Sebastian Dröge
89da9eb6c0 Change to g_warning() into assertions in GOutputStream
These would only happen if the API contract of the write() and writev()
functions was broken by subclasses.
2019-01-24 16:25:38 +02:00
Sebastian Dröge
0bcc177378 Add writev() / writev_all() API to GOutputStream and GPollableOutputStream
This comes with default implementations around the normal write
functions and async variants.

Fixes https://gitlab.gnome.org/GNOME/glib/issues/1431
2019-01-24 16:25:34 +02:00
Sebastian Dröge
042b8dc40d Introduce new GPollableReturn enum
This allows returning WOULD_BLOCK without allocating a GError, and
should later be used for various functions of GPollableOutputStream,
GPollableInputStream and anything else that can potentially block.
2019-01-24 16:25:31 +02:00
Philip Withnall
72329ea303 Merge branch 'fix-gdir-warning-msvc' into 'master'
gdir: shutup a warning when building with msvc

See merge request GNOME/glib!612
2019-01-24 10:44:34 +00:00
Ignacio Casal Quinteiro
57c779dab4 gdir: shutup a warning when building with msvc
This way we avoid the warning:
warning C4716: 'g_dir_new_from_dirp': must return a value
2019-01-24 11:31:38 +01:00
Philip Withnall
2821ff0fd2 Merge branch '1663-minint32-cxx-win32' into 'master'
gtypes: Define signed integer minimum values in terms of maximum values

Closes #1663

See merge request GNOME/glib!607
2019-01-23 17:35:01 +00:00
Emmanuele Bassi
85b5a72e69 Merge branch '1662-no-pedantry' into 'master'
build: Add -Wno-pedantic flag to compiler arguments

See merge request GNOME/glib!608
2019-01-23 14:15:18 +00:00
Philip Withnall
5c05af9aca build: Add -Wno-pedantic flag to compiler arguments
We do not support building with -Wpedantic due pervasively casting
function pointers through (void*) — see
https://wiki.gnome.org/Projects/GLib/CompilerRequirements#Function_pointer_conversions.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

Helps https://gitlab.gnome.org/GNOME/glib/issues/1662
2019-01-23 13:38:40 +00:00
Philip Withnall
6a2cfde29f gtypes: Define signed integer minimum values in terms of maximum values
This is what limits.h does. It avoids a problem when compiling with MSVC
(in C++ mode) on Windows, whereby the 0x80000000 constant is interpreted
as unsigned, and *then* the unary minus is applied to it.

https://docs.microsoft.com/en-us/cpp/error-messages/compiler-warnings/compiler-warning-level-2-c4146?view=vs-2017

Add a test which should hopefully catch problems with different
compilers’ interpretations of this in future.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://gitlab.gnome.org/GNOME/glib/issues/1663
2019-01-23 13:23:53 +00:00
Philip Withnall
7035462da0 Merge branch 'contributing-docs' into 'master'
Update contribution documentation

See merge request GNOME/glib!590
2019-01-23 10:52:15 +00:00
Philip Withnall
3806c34df9 Merge branch '1655-int-signedness-casts' into 'master'
gvariant-parser: Add explicit unsigned-to-signed casts

Closes #1655

See merge request GNOME/glib!600
2019-01-23 09:55:33 +00:00
Matthias Clasen
ab40b242f1 Merge branch 'gio-extension-point-help' into 'master'
gio: Support "help" in extension point env vars

See merge request GNOME/glib!601
2019-01-22 18:29:36 +00:00
Matthias Clasen
8f71892862 Document "help" for extensions
Mention the special value "help" for the environment variables
that we document for picking extensions.
2019-01-22 13:18:50 -05:00
Matthias Clasen
df5b482781 gio: Support "help" in extension point env vars
Interpret the value "help" for environment variables that
are passed to _g_io_module_get_default(), and print the
names and priorities of available extensions.

This lets users explore what is available, and can be helpful
in figuring out why a certain extension was chosen as default.

It is similar in spirit to what we already do with environment
variables like G_DEBUG.
2019-01-22 13:18:42 -05:00
Emmanuele Bassi
3d9727c0b8 Merge branch 'keyfile-backend-strings' into 'master'
keyfile settings: Accept unquoted strings

See merge request GNOME/glib!603
2019-01-22 17:03:11 +00:00
Matthias Clasen
e6574b228e keyfile settings: Accept unquoted strings
It is hard for users to remember that strings have to be explicitly
quoted in the keyfile. Be lenient and accept strings that lack those
quotes.
2019-01-22 11:11:24 -05:00
Philip Withnall
4a49a31075 Merge branch 'piotrdrag/update-potfilesles-190121' into 'master'
Update POTFILES.in

See merge request GNOME/glib!602
2019-01-22 13:37:21 +00:00
Philip Withnall
91493db48b docs: Rewrite CONTRIBUTING.md to update it
The new version is significantly based on the proposed GTK+
CONTRIBUTING.md file
(https://gitlab.gnome.org/GNOME/gtk/merge_requests/358).

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-01-22 13:36:29 +00:00
Philip Withnall
1afeaa6cb3 docs: Drop signatures at the bottom of CONTRIBUTING.md
They’re out of date. Probably best to leave the document unsigned, since
it’s supposed to be endorsed by all the GLib maintainers.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-01-22 13:36:29 +00:00
Philip Withnall
2327cc4f65 docs: Convert CONTRIBUTING.md to actually be Markdown
This doesn’t change its contents, just its formatting.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-01-22 13:36:29 +00:00
Piotr Drąg
a3157cc59a Update POTFILES.in 2019-01-21 20:51:41 +01:00
Philip Withnall
5506de3b92 Merge branch '1523-network-monitor-debugging' into 'master'
giomodule: Print the type of each default GIO module

See merge request GNOME/glib!319
2019-01-21 17:48:11 +00:00
Philip Withnall
92b3f22ad5 giomodule: Print the type of each default GIO module
This is useful for debugging in many situations. It’ll be printed with
G_MESSAGES_DEBUG=GLib-GIO or G_MESSAGES_DEBUG=all.

Mostly I need it for debugging the default GNetworkMonitor, but it will
work for all GIO module implementations.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-01-21 16:27:58 +00:00
Philip Withnall
be10f19752 Merge branch 'settings-portal' into 'master'
Settings portal

See merge request GNOME/glib!450
2019-01-21 12:02:43 +00:00
Matthias Clasen
2854522379 settings: Prefer the keyfile backend when sandboxed
When we are in a sandboxed situation, bump the priority
of the keyfile settings backend above the dconf one,
so we use a keyfile inside the sandbox instead of requiring
holes in the sandbox for dconf.
2019-01-20 21:03:35 -05:00
Matthias Clasen
c63e3a4ada settings: Add support for defaults to keyfile backend
Stacked databases and locks are dconf features that allow
management software like Fleet Commander to set system-wide
defaults and overrides centrally for applications.

This patch adds minimal support for the same to the keyfile
backend. We look for a keyfile named 'defaults' and a
lock-list named 'locks'.

Suitable files can be produced from a dconf database with
dconf dump and dconf list-locks, respectively.

The default location for these files is /etc/glib-2.0/settings/.
For test purposes, this can be overwritten with the
GSETTINGS_DEFAULTS_DIR environment variable.

Writes always go to the per-user keyfile.
2019-01-20 21:03:35 -05:00
Matthias Clasen
5357a23321 settings: Register the keyfile backend as extension
This was not done previously because the backend
could not be instantiated without parameters.
2019-01-20 21:03:35 -05:00
Matthias Clasen
26c8b29ee1 settings: Make the keyfile backend parameterless
Make it possible to instantiate a keyfile settings backend
without specifying parameters, by turning the arguments to
the new() function into construct-only properties. If no
filename is specified, default to
$XDG_CONFIG_HOME/glib-2.0/settings/keyfile
2019-01-20 21:03:35 -05:00
Philip Withnall
e3e4a09716 gvariant-parser: Add explicit unsigned-to-signed casts
Rather than prefixing unsigned numbers with unary minus operators and
expecting the implicit cast to carry the correct value through, add an
explicit cast to a signed type before the unary minus is applied.

In all four cases, an overflow check has already been done.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://gitlab.gnome.org/GNOME/glib/issues/1655
2019-01-19 01:07:57 +00:00
Emmanuele Bassi
3fe6f2a44f Merge branch 'wip/nacho/gdtlsconnection-warning' into 'master'
gdtlsconnection: do not return on a void method

See merge request GNOME/glib!599
2019-01-18 17:59:21 +00:00
Ignacio Casal Quinteiro
e9506d7719 gdtlsconnection: do not return on a void method
Fixes:
warning C4098: 'g_dtls_connection_set_advertised_protocols': 'void' function returning a value
2019-01-18 17:27:44 +01:00
Emmanuele Bassi
da2bf2a280 Merge branch '1500-list-store-state' into 'master'
gliststore: Store validity of last_position explicitly

Closes #1500

See merge request GNOME/glib!596
2019-01-18 16:03:56 +00:00
Philip Withnall
8ce0c49f9c Merge branch '1653-gsocketclient-slow-flaky' into 'master'
tests: Tag gsocketclient-slow test as ‘flaky’

See merge request GNOME/glib!597
2019-01-18 15:57:38 +00:00
Philip Withnall
5612c90fdf tests: Tag gsocketclient-slow test as ‘flaky’
It needs investigating and fixing properly, but let’s not let it disrupt
the CI in the meantime.

Follow-up in https://gitlab.gnome.org/GNOME/glib/issues/1653.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2019-01-18 15:27:45 +00:00
Philip Withnall
c9aba16af3 gliststore: Store validity of last_position explicitly
Rather than storing it as an invalid value in last_position, store it as
a separate boolean.

This introduces no functional changes, but should fix some warnings from
MSVC.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://gitlab.gnome.org/GNOME/glib/issues/1500
2019-01-18 15:22:19 +00:00
Philip Withnall
1a73410a96 Merge branch '501-test-subprocess-fds' into 'master'
gtestutils: pass open file descriptors to subprocess

See merge request GNOME/glib!595
2019-01-18 15:11:42 +00:00
Paolo Bonzini
69a48333c2 gtestutils: pass open file descriptors to subprocess
The subprocess needs to access the test_log_fd.  If the file descriptors
are not left open, functions such as g_test_message may stomp on file
descriptors open by the subprocess and cause bad behavior of the test.

(Tweaked by Philip Withnall <bugzilla@tecnocode.co.uk> to fix review
comments.)
2019-01-18 14:56:22 +00:00
Philip Withnall
b3ef8c4e34 Merge branch 'remove-build-dir' into 'master'
Remove leftover build/ directory

See merge request GNOME/glib!592
2019-01-17 14:43:24 +00:00
Xavier Claessens
e3f58236b7 Merge branch 'remove-pc-in' into 'master'
Remove unused .pc.in files

See merge request GNOME/glib!587
2019-01-17 14:24:14 +00:00
Xavier Claessens
f99da40cbc Remove leftover build/ directory
Forgot to remove the directory after moving dirent/ into glib/
2019-01-17 09:23:56 -05:00
Xavier Claessens
011daafb66 Remove unused .pc.in files
They were used by autotools but Meson doesn't need them.
2019-01-17 09:12:48 -05:00
Emmanuele Bassi
1ddcdbb8ec Merge branch 'g_file_info_set_attribute_stringv' into 'master'
gfileinfo: Fix annotation for g_file_info_set_attribute_stringv

See merge request GNOME/glib!591
2019-01-17 12:01:27 +00:00
Tomasz Miąsko
6994be01f4 gfileinfo: Fix annotation for g_file_info_set_attribute_stringv
Annotate `attr_value` parameter of `g_file_info_set_attribute_stringv`
as zero-terminated array, since it isn't currently recognized as such.
2019-01-17 12:43:07 +01:00
Philip Withnall
c9f883b221 Merge branch 'resource-overlay-info' into 'master'
gresource: Complete the overlay support

Closes #1445

See merge request GNOME/glib!497
2019-01-17 10:13:52 +00:00
Philip Withnall
58f7a4d1b1 Merge branch 'msvc-dirent' into 'master'
MSVC: Move dirent implementation to glib/dirent/

See merge request GNOME/glib!588
2019-01-17 09:36:57 +00:00
Xavier Claessens
ec93d9e125 MSVC: Move dirent implementation to glib/dirent/ 2019-01-16 10:24:11 -05:00
Michael Catanzaro
193cc66919 Merge branch 'mcatanzaro/g_assert_cpp' into 'master'
Add separate definitions of g_assert_[non]null() for C++

See merge request GNOME/glib!568
2019-01-15 22:11:39 +00:00
Michael Catanzaro
4a0ce6b458 Add separate definitions of g_assert_[non]null() for C++
In C++ we can use nullptr to ensure g_assert_[non]null() is only called
with pointers. This will introduce build failures in tests that would
have previously compiled, but only in C++, and only for code that
misused these macros. Code using the macros properly will be fine.

This change caught a couple bugs in WebKit's API tests, where I had
accidentally used these functions improperly. E.g. this is now a build
failure in C++:

g_assert_null(webkit_context_menu_get_n_items(menu)); /* Oops! */

Either I wanted to use cmpuint there, or I wanted to use
webkit_context_menu_get_items() to receive a GList* instead.

Another example that will no longer build in C++:

g_assert_null(0); /* Contrived, but 0 is not a pointer! */
2019-01-15 15:57:44 -06:00
Philip Withnall
6a372bf703 Merge branch 'disable-tests' into 'master'
Temporarily disable flaky tests

See merge request GNOME/glib!579
2019-01-15 16:45:15 +00:00