2.13.4:
2007-04-11 Armin Burgmeier <
[email protected]>
* tools/pm/WrapParser.pm: Added peek_token() function which only
returns the next token without removing it from the tokens array.
Parse '/**' as a separate token and handle it in a special way so that
when the final '*/' is encountered and _WRAP_SIGNAL follows, the
comment is not terminated but continued by that automatically
generated doxygen comment.
* tools/pm/Output.pm: Added a merge_doxygen_comment_with_previous
parameter in output_wrap_sig_decl(). If it is nonzero, the function
assumes that there is already a comment open and continues to use it
instead of opening a new comment by removing the leading '/**' from
what get_refdoc_comment() returns. Bug #378810.
2007-04-06 Johannes Schmid <
[email protected]>
* tools/generate_wrap_init.pl.in:
Use _CLASS_DEPRECATE instead of just _DEPRECATE to
known whether a whole class should be avoided in wrap_init.
Otherwise every .hg file containing deprecated methods
might get ignored. (Fixes Gtk::TextBuffer bug in maemo)
2007-03-19 Bradley Bell <
[email protected]>
* glib/glibmm/helperlist.h: Change variable name to avoid
warnings about a shadowed member.
Bug #420316.
2007-03-19 Bradley Bell <
[email protected]>
* glib/glibmm/utility.h: remove g_free prototype, include gmem.h
instead, to avoid a warning about a redundant declaration.
Bug #420339.
2007-03-17 Armin Burgmeier <
[email protected]>
* tools/m4/signal.m4:
* tools/m4/vfunc.m4:
Use static_cast in vfuncs and signal handlers to cast the
wrapper object to ObjectBase*. This is enough to check whether the object is
from a derived type or not. A slow dynamic_cast has only to be performed if it
is derived, and the C++ vfunc needs to be called.
* glib/glibmm/objectbase.h: This requires ObjectBase::is_derived_ to be public,
because it is called on a ObjectBase* rather than the actual type.
This causes a slight speed up of vfuncs and default signal handler invokation.
Also added commented-out inline versions of ObjectBase::_get_current_wrapper() and
ObjectBase::is_derived(), which could be used in the generated code if we find
that this has significant performance benefits. Note that these methods must be
additional to the non-inline methods, because inline methods are not usually exported in the
shared library.
2007-02-10 Murray Cumming <
[email protected]>
* examples/options/main.cc: Use a default value, to show that it
can be done.
(This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
2007-02-10 Armin Burgmeier <
[email protected]>
* glib/src/optiongroup.ccg: default_c_arg(): Set the initial
value of the C argument to the value the C++ argument has, to avoid
that glibmm resets arguments to zero that were not given on the
command line.
(This change, from 2006-03-30 was restored after being accidentally lost on Apr 12 2006)
2007-01-28 Daniel Elstner <
[email protected]>
* tools/m4/ctor.m4: If the argument list is empty, call the non-
varargs overload of the Glib::ConstructParams constructor instead
of using an empty varargs list. This mistake was exposed thanks
to the recent addition of G_GNUC_NULL_TERMINATED to the varargs
constructor declaration. Fortunately it was harmless in this case.
Also use the opportunity to clean up the M4 code and prefix builtin
M4 macros with m4_, so that we may get rid of the unprefixed macros
altogether some day.
Thu, 25 Jan 2007 23:13:05 +0100 Dodji Seketeli
* tools/m4/base.m4:
prefix the builting mkstemp with 'm4' because otherwise,
m4 1.4.8 recognizes it as a builtin macro and expands it, leading
to compilation errors on some distros.
This should fix #397167. Thanks to Daniel Elstner for spotting this.
2007-01-20 Daniel Elstner <
[email protected]>
* glib/glibmm/dispatcher.{cc,h}: Early spring cleaning. Also add
a paragraph about Dispatcher on win32 to the documentation.
(DispatchNotifyData): Remove the 'tag' member from the struct that
was always set to 0xdeadbeef in order to detect memory corruption.
This is pointless, as we already check the DispatchNotifier pointer
sent across the pipe, which is a far better indicator of corruption
anyway.
(warn_failed_pipe_io): Remove the err_no parameter and retrieve
errno respectively GetLastError() within the function instead.
(DispatchNotifier::conn_io_handler_): Remove, as we now inherit
from sigc::trackable. I verified that this doesn't cause problems
with threading in this particular case.
(DispatchNotifier::DispatchNotifier): If creating the pipe failed
and exceptions are disabled, call at least warn_failed_pipe_io()
instead of doing nothing at all.
(DispatchNotifier::*): Rework the win32 implementation so that it
matches more closely the Dispatcher semantics on Unix. This still
needs testing by someone on win32, though. So far I only verified
that it compiles with dummy definitions of the win32 API. Also,
I accidentally located the real cause of the race condition Cedric
experienced in bug #109966. It was a bug in my patch, rather than
in the example code.
* examples/thread/dispatcher.cc: Cleanup. In particular, get rid
of the Glib::RefPtr<> abuse with non-Glib::Object types. I don't
believe we endorse such usage officially, so it shouldn't be in
the examples.
2007-01-20 Daniel Elstner <
[email protected]>
* glib/glibmm/miscutils.cc: Clean up the code a bit.
(get_application_name): Remove the code that checked the string for
valid UTF-8, and attempted conversion if not valid. I must have
been on crack when I wrote this, as the combination of conditions
that would cause the string to be invalid UTF-8 is quite unlikely.
If this is a valid concern at all, it should be filed as a GLib bug
and not worked around in glibmm.
(build_filename(const std::string&, const std::string&)): Just call
the plain g_build_filename() instead of building a temporary array
and passing that via ArrayHandle to the build_filename() overload
for containers.
(build_path): Remove the already deactivated custom implementation
from the time before g_build_pathv() was added to GLib.
* glib/glibmm/object.{cc,h}: Improve/fix a couple of comments.
(ConstructParams::ConstructParams): Add G_GNUC_NULL_TERMINATED
function attribute to make the compiler complain if the variadic
argument list is not terminated by a NULL pointer.
* glib/glibmm/ustring.{cc,h} (utf8_find_last_of): Avoid applying
bitwise logical operators directly to (possibly signed) operands
of char type. In order to avoid relying on implementation-defined
behavior, make sure that the operands are of unsigned integer type.
(ustring::is_ascii): Likewise,
(ustring_Iterator<T>::operator--): Likewise.
(get_unichar_from_std_iterator): De-obfuscate this highly optimized
piece of code, as the current stable release of GCC (4.1.2-pre on
my system) generates better assembler output without the voodoo.