Commit Graph

7189 Commits

Author SHA1 Message Date
Ryan Lortie
5d97ea2986 Bug 600141 - Add -pthread to gmodule pkg-config
It is not generally permissible to dlopen() libpthread into a program
that is not already linked with threading support.  The most common case
of this happening is when GIO opens Gvfs (which includes DBus, which
links against libpthread).

Since gmodule is the way that most users cause this problem for
themselves and since the easiest workaround is to link the program with
-pthread, the best fix for the issue is to add -pthread to the gmodule
pkg-config.
2009-11-17 20:41:48 -06:00
Ryan Lortie
983a717fa6 Bug 535159 - g_file_has_parent
- add a g_file_has_parent() function as a wrapper around
   g_file_get_parent()
2009-11-17 20:27:38 -06:00
Javier Jardón
ba0a6e1911 Fix compilation warning: Initialize the variable 2009-11-17 20:44:16 +01:00
Javier Jardón
c6243026ed Fix compilation warning: Remove unused function 2009-11-17 20:44:10 +01:00
Javier Jardón
00a331f970 Fix compilation warning: cast to (GCompareFunc) 2009-11-17 20:44:01 +01:00
Javier Jardón
18b3ff33af Don't mention g_utf32_to_utf8() and g_utf8_to_utf32()
These functions doesn't exist.
Suggest to use g_ucs4_to_utf8/g_utf8_to_ucs4 to produce the UTF-8
representation of a gunichar

This fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=601874
2009-11-16 00:09:16 +01:00
Javier Jardón
96bf69d4cc Suggest the use of G_STRFUNC
Suggest G_STRFUNC in the documentation of the deprecated functions
G_GNUC_PRETTY_FUNCTION and G_GNUC_FUNCTION
2009-11-15 23:58:23 +01:00
Ryan Lortie
6b7b7a7602 Bug 587300 - g_cancellable_disconnect deadlock
add documentation to clarify that a deadlock is the expected case for
calling this function from a signal handler
2009-11-11 23:54:18 -05:00
Ryan Lortie
3d09b8e09c Bug 591216 - Warning building resolver.o
check result of write system call to quiet compiler warning
2009-11-11 23:21:48 -05:00
Ryan Lortie
78e8b39b49 GSocket.receive_message: fix bogus allocation math 2009-11-11 22:22:41 -05:00
Kjartan Maraas
409cdb8d13 Updated Norwegian bokmål translation. 2009-11-11 20:09:53 +01:00
Tor Lillqvist
e5b20a3364 Include all of share/gtk-doc/html to get also the gio docs
Also add -D switches to not pointlessly include entries for directories
in the zip files.
2009-11-10 14:22:29 +02:00
Tor Lillqvist
6e86c9a6aa Avoid gcc warning about redeclaration of atexit() on MinGW 2009-11-10 01:40:01 +02:00
Daniel Nylander
a9c4320e81 Updated Swedish translation 2009-11-08 22:04:51 +01:00
Fran Diéguez
e9915ee7bd Updated Galician Translation 2009-11-07 14:40:58 +01:00
Jorge González
ee116a6b1c Updated Spanish translation 2009-11-06 21:51:28 +01:00
Ivar Smolin
6c315c7789 Updating Estonian translation 2009-11-06 18:15:29 +02:00
Matej Urbančič
fc0b5d735e Updated Slovenian translation 2009-11-06 14:58:44 +01:00
Stéphane Démurget
ef6117f78d Bug 324930 - Nicer message for EPERM on symlink
Introduced a more precise error message for EPERM when symlinking to
a local filesystem.

EPERM on symlink means symlinking is not supported by the underlying
fs so it is not the general meaning of EPERM which roughly translates
to 'Operation not permitted'.
2009-11-05 14:31:14 +01:00
Tor Lillqvist
3c57a6c7cc Don't call WSAEventSelect() on -1
If g_io_win32_sock_close() has been called on a socket channel, don't
later in g_io_win32_free() call WSAEventSelect() on its fd which has
been set to -1.
2009-11-05 00:04:33 +02:00
Paolo Bonzini
0d6b1ab42a Don't run system("touch conf.glibtest)" in the AM_PATH_GLIB_2_0 macro
Just use the C library instead to create the file. Helps building
using Wine. Not that I think we want to endorse that, but accepting
this minimal patch doesn't hurt. From bug #590016.

Signed-off-by: Tor Lillqvist <tml@iki.fi>
2009-11-03 18:43:30 +02:00
Tor Lillqvist
f6276add35 Improve descriptive comment text 2009-11-03 18:21:19 +02:00
Hib Eris
9c292a831f Fix check for C++ compiler when cross-compiling
Use AC_CHECK_TOOLS instead of AC_CHECK_PROGS. Patch from bug #577711.
2009-11-03 15:06:29 +02:00
Carlo Bramini
b64ee1f020 Make g_file_test() behave on Windows more like as on POSIX
Patch from bug #572252.
2009-11-03 14:30:16 +02:00
Thomas Thurman
22d026d344 Shavian translation 2009-10-31 02:49:31 -04:00
Benjamin Otte
4288ad7692 Properly nul-terminate return values from g_convert()
The patch ensures that multibyte character sets are properly
nul-terminated. This is an issue because the documentation claims to
return a "nul-terminated" string and users of the API assume that means
a proper nul-termination in the resulting character set.

I looked at Pidgin and GStreamer code and found at least 3 cases where
this was happening.

This patch also reverts the documentation change from
5a633f82db as that is now no longer
necessary.
2009-10-28 19:26:17 +01:00
Benjamin Otte
5a633f82db Clarify documentation about g_convert() nul-terminated returns
THere is effectively no nul-termination for multibyte characters.
2009-10-27 21:31:25 +01:00
Matthias Clasen
f3fbf37dd8 Avoid a warning 2009-10-25 02:56:13 -04:00
Matthias Clasen
e63262d49d Don't give up too early when collecting mime types
Since returning exactly one match has special significance, don't
give up matching before we've found at least 2 types. Also, make
sure that we don't return the same mime type more than once.
Bug 541236.
2009-10-25 02:55:46 -04:00
Sven Herzberg
3dab24828e make sure g_set_prgname() gets called only once
* glib/gutils.c: copy the call-once statement from g_set_application_name();
  Fixes Bug #563627: g_get_prgname() threadsafety
2009-10-23 16:23:46 +02:00
Tor Lillqvist
d105f431b0 Fix GWin32DirectoryMonitor
GWin32DirectoryMonitor was quite broken, but nobody had apparently
noticed, or at least not filed any bug. Only now with a bleeding edge
GTK+ file chooser does the code get exercised in common programs like
gtk-demo or GIMP, apparently. Bug #598899.
2009-10-23 00:46:50 +03:00
Cody Russell
8eebc18944 GTypeModule derived class unref does not unload plugin
Correctly unref the pclass. Patch by Chris Wilson and Tim Janik.

https://bugzilla.gnome.org/show_bug.cgi?id=350200
2009-10-14 21:24:30 -05:00
Tomas Bzatek
e95a3b0576 Documentation fixes 2009-10-13 16:21:42 +02:00
Tor Lillqvist
443674faaa Construct the gio module directory pathname at run-time on Windows 2009-10-12 00:20:28 +03:00
Alexander Larsson
2a3710872f xdgmime: sort glob hits with larger weight first
Higher weight is more important, so return these first meaning
they will be used as the default.
2009-10-08 12:02:52 +02:00
Ivar Smolin
d9b87676fa Updating Estonian translation 2009-10-08 09:56:25 +03:00
Matthias Clasen
3daaa459e3 Bump version 2009-10-07 10:31:19 -04:00
Matthias Clasen
f814174371 2.22.2 2009-10-07 10:29:32 -04:00
Matthias Clasen
3d76112aed Updates 2009-10-07 09:28:19 -04:00
Cody Russell
855deaa578 g_object_unref racy condition can lead to crash
Store whether the object has a toggleref before decrementing the
refcount to prevent race condition when two threads simultaneously
try to unref an object with a refcount of 2.
Patch by Antoine Tremblay.

https://bugzilla.gnome.org/show_bug.cgi?id=551706
2009-10-06 12:27:12 -04:00
Leonid Kanter
afa0db59df Updated Russian translation by <vicanis@gmail.com> 2009-10-06 11:52:48 +03:00
Edward Hervey
68b1ca0443 gobject/gtype.h: Fix _G_TYPE_CVH macro. Fixes #597194
If __val doesn't exist, we shouldn't do any other checks.
2009-10-03 16:17:17 +02:00
Alexander Larsson
1937765f9f Add fast path for construction with no params
This avoids a bunch of code and makes construction of simple objects
faster.

Object construction performance improvement:
         Non-Threaded   Threaded
Simple:           14%         5%
Complex:        -1.1%      -2.2%

Other tests stable.

https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:48 +02:00
Alexander Larsson
ffc625ec9b Don't freeze/thaw notification during construction if no properties
If the class has no properties there could be no notification anyway.
This is an important optimization for construction of simple objects.

Object construction performance improvement:
         Non-Threaded   Threaded
Simple:           84%        91%
Complex:        -1.4%      -0.6%

Other tests stable.

https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:48 +02:00
Alexander Larsson
302d13a757 Add a check that no properties are added after a class is derived
We can't support that, because that would cause the CLASS_HAS_PROPS_FLAG
class flag to not be correct.
2009-10-02 21:02:48 +02:00
Alexander Larsson
39a1fe5782 Add GObjectClass flag CLASS_HAS_PROPS_FLAG
This is set if a class or any of its parents have installed any
properties.

https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:48 +02:00
Alexander Larsson
301d52d858 Add flags member for GObjectClass
https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:48 +02:00
Alexander Larsson
af017accc5 Allocate GObjectNotifyQueue with g_slice instead of abusing g_list
This is both cleaner and faster (it avoids function calls and
zeroing the memory twice).

Object construction performance improvement:
         Non-Threaded   Threaded
Simple:           11%       1.3%
Complex:           8%         6%

Other tests stable.

https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:48 +02:00
Alexander Larsson
f4d9789fcf Add gobject performance tests for threaded code
This measures how much things like lock contention affects the gobject
code.
2009-10-02 21:02:48 +02:00
Alexander Larsson
b1f94af095 Add performance tests for GObject primitives
These are basic performance test for a couple of basic gobject
primitives:

* construction of simple objects. Simple is a bare gobject derived
  class with no properties, signals or interfaces.

* construction of complex objects. Complex is a gobject subclass
  with construct properties, normal properties, signals, and
  implements an interface.

* run-time type check of complex objects

* signal emissions

Lots of care is taken to try to make the results reproducible. Each
test is run for multible "rounds", where we try to make each round be
"not too short" in order to be significant wrt timer accuracy, but
also "not to long" to make the probability of some other random event
happening on the system (interrupts, other process scheduled, etc)
during the round less likely.
The current target round time is 4 msecs, which was picked without
rigour, but seems small wrt e.g. scheduler time.

For each test we then run the calculated round size for 60 seconds,
and then report the performance based on the minimal time of one
round. The model here is that any random stuff that happens during a
round can only slow it down, there is nothing that can make it go
faster, so the minimal time is the best estimate of how fast one round
goes.

The result is not ideal, even on a "idle" system the results vary
from round to round, but the variation seems to be less than 1%.
So, any performance difference reported by this test over 1% is
probably statistically significant.

Additionally the tests can be run with or without threads being
initialized. The script tests/gobject/run-performance.sh makes
it easy to produce a performance report for the current checkout.

https://bugzilla.gnome.org/show_bug.cgi?id=557100
2009-10-02 21:02:23 +02:00