| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The M4 macro _GET_TYPE_FUNC() does not generate correct function names for
GDBus* enums. This fix makes it possible to specify the function name in
the call to _WRAP_ENUM or _WRAP_GERROR. See issue #37
|
|
|
|
|
| |
Introduce a macro to generate appropriate setter for a structure which
has gchar* as a member. Bug 793778
|
| |
|
|
|
|
| |
Because this simplifies the code.
|
|
|
|
|
|
|
|
| |
* tools/m4/vfunc.m4:
* tools/pm/Output.pm:
* tools/pm/WrapParser.pm: Add the optional argument err_return_value in
_WRAP_VFUNC. This return value, if specified, applies only when the C++ vfunc
throws an exception, which is propagated to the C callback function.
|
|
|
|
|
|
|
| |
tools/m4/base.m4: At the end of the _END macro, discard all remaining sections.
m4_divert(-1) + m4_undivert() was probably meant to do just that, but it does
nothing. m4_divert(-1) + m4_undivert, without parentheses, discards all
remaining sections. Bug #756593
|
| |
|
|
|
|
|
|
| |
* gio/src/dbusproxy.hg: fix _WRAP_METHOD usage
* tools/m4/convert_gio.m4: update converstion definition - use
Gio::DBus::Proxy instead of Proxy.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* tools/m4/enum.m4:
* tools/m4/gerror.m4: Surround code and documentation by #ifndef
xxx_DISABLE_DEPRECATED, if it's deprecated.
* tools/pm/DocsParser.pm: lookup_enum_documentation(): Move the parsing of
options to WrapParser. Add deprecation docs, if any.
* tools/pm/Enum.pm: build_element_list(): Move the parsing of options to
WrapParser.
* tools/pm/Output.pm: output_wrap_enum(), output_wrap_enum_docs_only(),
output_wrap_gerror(): Handle deprecation docs.
* tools/pm/WrapParser.pm: Parse options in the new on_wrap_any_enum() function.
|
|
|
|
|
|
|
|
|
|
| |
operations.
If class contains movable fields, custom move constructor and move
assignment operator should be provided. Use macro _CUSTOM_MOVE_OPERATIONS
for NOT generating default move operations.
https://bugzilla.gnome.org/show_bug.cgi?id=756593
|
| |
|
|
|
|
|
|
| |
* tools/m4/vfunc.m4: Propagate a Glib::Error exception to GError** error.
Don't throw an exception in the callback function, called from C code.
Bug #762437
|
|
|
|
|
|
|
| |
By changing
) dnl
to
)dnl
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* .gitignore: signalproxy.h file is no more generated, so it has been
removed from ignored list.
* gio/src/application.{ccg|hg}: don't use old-style SignalProxy class.
* glib/glibmm/filelist.am: add signalproxy.h file to distributed files
list.
* gio/glibmm/signalproxy.h: add implementation of SignalProxy and
SignalProxyDetailedAnyType.
* glib/src/filelist.am:
* glib/src/signalproxy.h.m4: signalproxy.h is not generated, thus
remove m4 file.
* tools/m4/signal.m4: use new SignalProxy class instead of
SignalProxy*.
|
|
|
|
|
|
| |
Don't repeat the virtual declaration from Glib::ObjectBase's destructor.
Instead use override to show that we expect the base destructor to
be virtual.
|
|
|
|
|
|
|
|
|
|
| |
* tools/m4/base.m4: If both _CONFIGINCLUDE() and _IS_DEPRECATED are used
in the .hg file, then #include <xxxconfig.h> is included before
ifndef xxx_DISABLE_DEPRECATED in the generated .cc file. This is useful if
the mm module is configured with --disable-deprecated-api, because
xxx_DISABLE_DEPRECATED is defined in the config file. The .cc file can be
compiled, but does not generate any executable code. No need to exclude it
from the build by tampering with the filelist.am file.
|
| |
|
|
|
|
|
| |
It doesn't seem useful as private. The other classes already do this
correctly.
|
| |
|
|
|
|
| |
This is useful for standard containers, for instance.
|
| |
|
|
|
|
|
|
|
| |
These were previously implicitly generated by the compiler,
but are no longer generated because we now have explicit move
operations.
Being explicit seems like a better way to preserve ABI anyway.
|
|
|
|
|
|
|
|
|
|
|
| |
This is generally a good idea because it lets standard containers
use the swap() while maintaining their own noexcept.
This would not be an ABI break, hopefully, because this is an inline
method in the header anyway.
We have recently added the noexcept to the member swap() method,
but hopefully that is not an ABI break either. Removing noexcept
would be an ABI break, I think.
|
|
|
|
|
| |
As in _CLASS_BOXEDTYPE().
This can then be used by std::swap(), used by standard containers.
|
|
|
|
| |
Roughly as in _CLASS_BOXEDTYPE().
|
|
|
|
| |
The same as in _CLASS_BOXEDTYPE().
|
|
|
|
|
|
|
|
|
|
| |
Because _CLASS_OPAQUE_REFCOUNTED already generates a comment
telling us not to derive from them, presumably because they can
only be instantiated by reinterpret_cast<>ing a base C struct.
Ideally, _CLASS_OPAQUE_REFCOUNTED would add the final keyword,
but the class line is is not generated, so that would be a little
difficult.
|
|
|
|
| |
And move it (and the = deleted copy operations) to public.
|
|
|
|
|
| |
The (virtual base) ObjectBase's move operations will not be called
multiple times, so this might be useless, but it seems more complete.
|
| |
|
|
|
|
|
| |
Generate move constructor and move assignment operator.
These might never be used, but it seems generally wise to have them.
|
|
|
|
|
|
|
|
|
| |
Because this can let standard containers more efficiently reallocate
memory while still preserving their own noexcept guarantees.
I found out about this in Scott Meyer's Effective Modern C++11:
Item 14.
Likewise make swap() noexcept because we use it in our noexcept
move assignment operator.
|
| |
|
| |
|
| |
|
|
|
|
| |
Bug #751432
|
|
|
|
|
|
|
|
| |
I think this has not been used by any *mm projects since gtkmm-2.4
We can add it back if I am wrong. And we doing new gtkmm-2.4 releases
is hard enough anyway so there isn't much point in keeping stuff
around just for that.
|
|
|
|
|
| |
However, these are completely untested, and not all functions
have been wrapped.
|
|
|
|
|
|
|
| |
* tools/m4/method.m4: Put G_GNUC_[BEGIN|END]_IGNORE_DEPRECATIONS around
deprecated code. In most cases it's then not necessary to undef
[G|GDK|GTK]_DISABLE_DEPRECATED and define
[GLIB|GDK]_DISABLE_DEPRECATION_WARNINGS. Bug #750379.
|
|
|
|
|
|
|
| |
* tools/m4/signal.m4:
* tools/pm/Output.pm:
* tools/pm/WrapParser.pm: Add support for optional 'detail_name $name' and
'two_signal_methods' parameter in _WRAP_SIGNAL. Bug #749034.
|
|
|
|
|
|
| |
* tools/m4/signal.m4: Fix the exception_handler parameter. It was added as
a result of bug #735132, but the code was enough changed after it was copied
from vfunc.m4.
|
|
|
|
|
|
|
| |
* tools/m4/property.m4: Remove the line "You rarely need to use properties..."
It's becoming less true. Some new glib and gtk+ classes (GSimpleIOStream,
GtkModelButton, GtkPopoverMenu) have no public set/get methods corresponding
to their properties.
|
|
|
|
|
|
|
|
| |
* gio/src/asyncinitable.ccg: Remove #ifdef GLIBMM_EXCEPTIONS_ENABLED.
* tools/m4/property.m4: No #ifdef GLIBMM_PROPERTIES_ENABLED in generated code.
* tools/m4/signal.m4:
* tools/m4/vfunc.m4: No #ifdef GLIBMM_EXCEPTIONS_ENABLED in generated code.
These preprocessor macros are always defined.
|
|
|
|
|
|
|
|
| |
* glib/glibmm/utility.h: Add template function destroy_notify_delete().
* tools/pm/WrapParser.pm:
* tools/pm/Output.pm:
* tools/m4/vfunc.m4: Add optional parameter keep_return to _WRAP_VFUNC().
Bug #705124.
|
|
|
|
|
| |
* gio/src/notification.hg: Add enum NotificationPriority and set_priority().
* tools/m4/convert_gio.m4: Add conversion of GNotificationPriority.
|
|
|
|
|
|
|
|
| |
These predeclarations, such as below, seem to confuse doxygen.
See bug #743918 .
namespace Gtk
{ class Window_Class; } // namespace Gtk
|
| |
|
|
|
|
|
|
| |
* tools/m4/enum.m4: Add a blank line in the enum documentation.
* tools/pm/Output.pm: Don't always add a blank line in the enum documentation.
* tools/pm/DocsParser.pm: Improve the rules for conversion of Since to @newin.
|
|
|
|
|
|
|
|
|
| |
* tools/m4/gerror.m4: Add "/** " at the start of the documentation,
like enum.m4 does.
* tools/pm/DocsParser.pm: lookup_enum_documentation(): Don't add "/** "
which is deleted by the caller. Add "\n * " with the right indentation.
* tools/pm/Output.pm: output_wrap_enum(), output_wrap_enum_docs_only(),
output_wrap_gerror(): Don't delete "/** ". Don't change indentation.
|
|
|
|
|
|
|
|
|
|
| |
* tools/pm/Output.pm: output_wrap_gerror(): Get the enum documentation from
the docs.xml file.
* tools/m4/gerror.m4: Include the documentation before 'enum Code' in
the generated code.
_WRAP_GERROR was overlooked when José Alburquerque implemented the
documentation of other enums (bug 544694).
|