2.28.1:
2011-06-13 Kalev Lember <
[email protected]>
Removed doctooldir variable from pkgconfig files
* glib/glibmm{,-uninstalled}.pc.in: Removed doctooldir variable now
that the scripts are in mm-common.
https://bugzilla.redhat.com/show_bug.cgi?id=712474
Bug #652461
2011-06-13 José Alburquerque <
[email protected]>
m4 Macros: _INITIALZE: Modify so that $1 substitutes C++ type w/o &.
* tools/m4/convert_base.m4 (_INITIALIZE): Changed the macro so that $1
substitutes the C++ type without the final ampersand (&) for
convenience.
2011-06-12 José Alburquerque <
[email protected]>
gmmproc: Use '.' instead of '-' in parameter reordering.
* tools/pm/Function.pm (parse_param): Use a '.' instead of a '-' to
signify that the C++ parameter name should be used as the C parameter
name to map the current C++ parameter to.
2011-06-09 José Alburquerque <
[email protected]>
Gio::DBus::Connection::emit_signal(): Say why convert empty strings.
* gio/src/dbusconnection.ccg (emit_signal): Explain why empty strings
are converted to NULL when passed to the C API.
2011-06-08 José Alburquerque <
[email protected]>
Gio::DBus::Connection::emit_signal(): Replace empty strings with NULL.
* gio/src/dbusconnection.ccg (emit_signal): Pass NULL to the C
function call where strings are empty allowing emitting signals to all
listeners.
Bug #645072 (Yannick Guesnet).
2011-06-07 José Alburquerque <
[email protected]>
M4 Macros: Rename the _INITIALIZER macro to _INITIALIZATION.
* tools/m4/convert_base.m4 (_INITIALIZER): Rename the macro to
_INITIALIZATION to be more consistent with the _CONVERSION macro.
2011-06-07 José Alburquerque <
[email protected]>
gmmproc: _WRAP_METHOD: Add the possibility of an output parameter.
* tools/pm/Output.pm (output_wrap_meth): Modified to test if there is
a parameter mapping in the current C++ function from the hypothetical
C name 'RET' to a C++ parameter index. If so, that parameter is
treated as an output parameter. This allows wrap statements such as:
_WRAP_METHOD(static void get_finish(Glib::RefPtr<Connection>&
conn{RET}, const Glib::RefPtr<AsyncResult>& res), g_bus_get_finish,
errthrow
)
Where the 'conn' parameter is an output parameter. The output
parameter name and type are passed to the _STATIC_METHOD and _METHOD
macros (along with the wrap line number).
(convert_args_cpp_to_c): Modified to process the C++ parameters
dealing with the possibility of an output parameter.
* tools/pm/Function.pm: Typo.
* tools/m4/method.m4 (_METHOD):
(_STATIC_METHOD): Both modified to accept an optional output parameter
name, type and wrap line number and if they exist to ensure that the
output parameter is correctly set to the return of the C function. To
do that it uses the new _INITIALIZE macro.
* tools/m4/convert_base.m4 (_INITIALIZER):
(_INITIALIZE): Add macros (similar to the _CONVERSION/_CONVERT
macros) used to record how to initialize a C++ type from a C type and
later to initialize an output parameter of the C++ type. The
_INITIALIZER macro has much the same syntax as the _CONVERSION macro.
For example:
_INITIALIZER(`Glib::RefPtr<Connection>&',`GDBusConnection*',
`$3 = Glib::wrap($4)')
Describes how to initialize a C++ reference to a Glib::RefPtr that
contains a Gio::DBus::Connection from its corresponding C type. $3
represents the output parameter name and $4 represents the C return.
The _INITIALIZE macro can then be appropriately used by the _METHOD
and _STATIC_METHOD macros to initialize the output parameters passed
to them by gmmproc.
2011-06-06 José Alburquerque <
[email protected]>
gmmproc: _WRAP_[CREATE|CTOR|METHOD]: Support parameter reordering.
* tools/pm/Function.pm (param_mappings): Add a new hash member mapping
C parameter names to C++ parameter indices. The map is specified by
appending a {name[?]} to the desired C++ parameter name in the C++
method declaration. A '-' in place of a C parameter name means to use
the C++ parameter name.
(parse_param): Modified to detect parameter mappings and set the
appropriate mapping in the above new member. No mappings occur if
none are specified.
* tools/pm/Output.pm (convert_args_cpp_to_c):
(get_ctor_properties): Modified to use the new C param names to C++
param indices mappings member above to allow reordering of parameters
in the C++ method declaration.
2011-06-05 José Alburquerque <
[email protected]>
gmmproc: Do not use NULL for optional parameters or properties.
* tools/pm/Output.pm (convert_args_cpp_to_c):
(get_ctor_properties): Substitute 0 instead of NULL for optional
parameters or properties.
2011-06-04 Murray Cumming <
[email protected]>
Fix the build with --enable-warnings=fatal.
* tests/glibmm_nodetree/main.cc: Comment out a set-but-not-used
variable.
2011-06-01 José Alburquerque <
[email protected]>
gmmproc: Use NULL for optional properties.
* tools/pm/Output.pm(get_ctor_properties): Use NULL instead of
static_cast<char*>(0) for properties that are optional as is done in
convert_args_cpp_to_c().
2011-06-01 José Alburquerque <
[email protected]>
gmmproc: _WRAP_[CREATE|CTOR]: Add optional parameter functionality.
* tools/pm/Function.pm (new_ctor): Modified to initialize the new
param_optional and possible_args_list members.
* tools/pm/FunctionBase.pm (args_names_only): Typo.
(get_declaration): Make sure that spacing is correct if the
declaration is a constructor's declaration.
* tools/pm/Output.pm (output_wrap_meth): Store the number of possible
declarations instead of computing it each time in the for loop.
(output_wrap_ctor):
(output_wrap_create): Modified as output_wrap_meth() to loop through
the list of the possible combination of arguments to output
convenience overloads for the constructors and create() methods.
(get_ctor_properties): Modified as convert_args_cpp_to_c() to accept
an optional index specifying which argument list out of the possible
ones to use and to insert a static_cast<char*>(0) for optional
parameters not in the specified argument list.
* tools/m4/class_gobject.m4: Added a blank line after the create()
methods definitions.
2011-05-31 José Alburquerque <
[email protected]>
gmmproc: _WRAP_METHOD: Add optional parameter functionality.
* tools/pm/Function.pm (param_optional): Add new member bool array to
represent which parameters are optional.
(possible_args_list): Add new member string array containing a list of
the possible argument combination based on existing optional
parameters.
(possible_args_list): Added recursive function to generate the list of
possible parameter combinations. The first in the list (the zeroth
element) always includes all the paramters.
(new): Modified to initialize the new members above.
(parse_param): Modified to see if parameters are optional by checking
if the name ends with '{?}'.
* tools/pm/FunctionBase.pm (args_names_only):
(args_types_and_names):
(args_types_and_names_with_default_values): Modified to accept an
optional index representing the desired argument list to use out of
the possible combinations.
(get_declaration): New subroutine returning any of the possible
declarations based on optional arguments.
(get_num_possible_args_list): New subroutine returning the number of
possible combination of arguments.
* tools/pm/Output.pm (output_wrap_meth): Modified to loop through the
possible arguments list and generate a _METHOD or _STATIC_METHOD for
all the possible combination of arguments.
(convert_args_cpp_to_c): Modified as above to accept an optional index
parameter representing the argument list for which to generate
_CONVERT macros. For optional arguments a NULL is placed in the C
function call.
2011-05-27 Kjell Ahlstedt <
[email protected]>
gmmproc: Protect documentation with m4 quotes.
* tools/pm/DocsParser.pm:
* tools/pm/Output.pm: Method documentation read from xxx_docs.xml, and
property documentation read from xxx_signals.defs are better protected with
m4 quotes and __BT__ and __FT__ macros in the input to the m4 macro
processor. Bug #603930