Hello community, here is the log from the commit of package gtkd for openSUSE:Factory checked in at 2018-08-20 16:22:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gtkd (Old) and /work/SRC/openSUSE:Factory/.gtkd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gtkd" Mon Aug 20 16:22:42 2018 rev:4 rq:630487 version:3.8.3 Changes: -------- --- /work/SRC/openSUSE:Factory/gtkd/gtkd.changes 2018-05-29 16:52:00.420409728 +0200 +++ /work/SRC/openSUSE:Factory/.gtkd.new/gtkd.changes 2018-08-20 16:22:59.693125802 +0200 @@ -1,0 +2,8 @@ +Sun Aug 19 21:45:31 UTC 2018 - matthias.elias...@gmail.com + +- Update to version 3.8.3 + * Make sure we only use one toggle reference per GObject. + * Allow empty arrays in the Dialog constructor. + * Fix Windows build script. #242 + +------------------------------------------------------------------- Old: ---- gtkd-3.8.2.tar.gz New: ---- gtkd-3.8.3.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gtkd.spec ++++++ --- /var/tmp/diff_new_pack.lDZMtz/_old 2018-08-20 16:23:00.181126494 +0200 +++ /var/tmp/diff_new_pack.lDZMtz/_new 2018-08-20 16:23:00.185126499 +0200 @@ -18,15 +18,15 @@ %define gtkd_major 3 %define gtkd_minor 8 -%define gtkd_bugfix 2 +%define gtkd_bugfix 3 %define sover 0 Name: gtkd -Version: 3.8.2 +Version: 3.8.3 Release: 0 Summary: D binding and OO wrapper for GTK+ License: LGPL-3.0-or-later Group: Development/Libraries/Other -Url: http://gtkd.org/ +URL: http://gtkd.org/ Source: https://github.com/gtkd-developers/GtkD/archive/v%{version}/gtkd-%{version}.tar.gz BuildRequires: dmd BuildRequires: phobos-devel ++++++ gtkd-3.8.2.tar.gz -> gtkd-3.8.3.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/Build.d new/GtkD-3.8.3/Build.d --- old/GtkD-3.8.2/Build.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/Build.d 2018-05-28 22:50:39.000000000 +0200 @@ -125,7 +125,7 @@ } else { - std.file.write("build.rf", format("-m64 -c -lib %s %s -Igenerated/gtkd -%s%s.lib %s", dcflags, ldflags, OUTPUT ,lib, dFiles(dir))); + std.file.write("build.rf", format("-m64 -c -lib %s %s -Igenerated/gtkd %s%s.lib %s", dcflags, ldflags, OUTPUT ,lib, dFiles(dir))); auto pid = spawnProcess([DC, "@build.rf"]); if ( wait(pid) != 0 ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/CHANGELOG new/GtkD-3.8.3/CHANGELOG --- old/GtkD-3.8.2/CHANGELOG 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/CHANGELOG 2018-05-28 22:50:39.000000000 +0200 @@ -1,6 +1,12 @@ GtkD ChangeLog ============== +Release: 3.8.3 +-------------- +-Make sure we only use one toggle reference per GObject. +-Allow empty arrays in the Dialog constructor. +-Fix Windows build script. #242 + Release: 3.8.2 -------------- -Check for null in the ObjectG opCast, so we can cast objects that are null. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/GNUmakefile new/GtkD-3.8.3/GNUmakefile --- old/GtkD-3.8.2/GNUmakefile 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/GNUmakefile 2018-05-28 22:50:39.000000000 +0200 @@ -75,7 +75,7 @@ ####################################################################### -GTKD_VERSION=3.8.2 +GTKD_VERSION=3.8.3 SO_VERSION=0 MAJOR = $(word 1,$(subst ., ,$(GTKD_VERSION))) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gst/base/AggregatorPad.d new/GtkD-3.8.3/generated/gstreamer/gst/base/AggregatorPad.d --- old/GtkD-3.8.2/generated/gstreamer/gst/base/AggregatorPad.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gst/base/AggregatorPad.d 2018-05-28 22:50:39.000000000 +0200 @@ -82,6 +82,16 @@ } /** + * Returns: %TRUE if the pad has a buffer available as the next thing. + * + * Since: 1.14.1 + */ + public bool hasBuffer() + { + return gst_aggregator_pad_has_buffer(gstAggregatorPad) != 0; + } + + /** * Returns: %TRUE if the pad is EOS, otherwise %FALSE. */ public bool isEos() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gst/base/Base.d new/GtkD-3.8.3/generated/gstreamer/gst/base/Base.d --- old/GtkD-3.8.2/generated/gstreamer/gst/base/Base.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gst/base/Base.d 2018-05-28 22:50:39.000000000 +0200 @@ -114,7 +114,7 @@ * * Params: * obj = object doing the typefinding, or %NULL (used for logging) - * data = a pointer with data to typefind + * data = * a pointer with data to typefind * prob = location to store the probability of the found * caps, or %NULL * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gst/base/ByteWriter.d new/GtkD-3.8.3/generated/gstreamer/gst/base/ByteWriter.d --- old/GtkD-3.8.2/generated/gstreamer/gst/base/ByteWriter.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gst/base/ByteWriter.d 2018-05-28 22:50:39.000000000 +0200 @@ -439,8 +439,7 @@ * Writes a NUL-terminated UTF8 string to @writer (including the terminator). * * Params: - * data = UTF8 string to - * write + * data = UTF8 string to write * * Returns: %TRUE if the value could be written */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gst/base/c/functions.d new/GtkD-3.8.3/generated/gstreamer/gst/base/c/functions.d --- old/GtkD-3.8.2/generated/gstreamer/gst/base/c/functions.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gst/base/c/functions.d 2018-05-28 22:50:39.000000000 +0200 @@ -85,6 +85,7 @@ Linker.link(gst_aggregator_pad_get_type, "gst_aggregator_pad_get_type", LIBRARY_GSTBASE); Linker.link(gst_aggregator_pad_drop_buffer, "gst_aggregator_pad_drop_buffer", LIBRARY_GSTBASE); + Linker.link(gst_aggregator_pad_has_buffer, "gst_aggregator_pad_has_buffer", LIBRARY_GSTBASE); Linker.link(gst_aggregator_pad_is_eos, "gst_aggregator_pad_is_eos", LIBRARY_GSTBASE); Linker.link(gst_aggregator_pad_peek_buffer, "gst_aggregator_pad_peek_buffer", LIBRARY_GSTBASE); Linker.link(gst_aggregator_pad_pop_buffer, "gst_aggregator_pad_pop_buffer", LIBRARY_GSTBASE); @@ -471,6 +472,7 @@ GType function() c_gst_aggregator_pad_get_type; int function(GstAggregatorPad* pad) c_gst_aggregator_pad_drop_buffer; + int function(GstAggregatorPad* pad) c_gst_aggregator_pad_has_buffer; int function(GstAggregatorPad* pad) c_gst_aggregator_pad_is_eos; GstBuffer* function(GstAggregatorPad* pad) c_gst_aggregator_pad_peek_buffer; GstBuffer* function(GstAggregatorPad* pad) c_gst_aggregator_pad_pop_buffer; @@ -697,7 +699,7 @@ int function(GstByteWriter* writer, byte val) c_gst_byte_writer_put_int8; int function(GstByteWriter* writer, ushort* data) c_gst_byte_writer_put_string_utf16; int function(GstByteWriter* writer, uint* data) c_gst_byte_writer_put_string_utf32; - int function(GstByteWriter* writer, char* data) c_gst_byte_writer_put_string_utf8; + int function(GstByteWriter* writer, const(char)* data) c_gst_byte_writer_put_string_utf8; int function(GstByteWriter* writer, ushort val) c_gst_byte_writer_put_uint16_be; int function(GstByteWriter* writer, ushort val) c_gst_byte_writer_put_uint16_le; int function(GstByteWriter* writer, uint val) c_gst_byte_writer_put_uint24_be; @@ -855,6 +857,7 @@ alias c_gst_aggregator_pad_get_type gst_aggregator_pad_get_type; alias c_gst_aggregator_pad_drop_buffer gst_aggregator_pad_drop_buffer; +alias c_gst_aggregator_pad_has_buffer gst_aggregator_pad_has_buffer; alias c_gst_aggregator_pad_is_eos gst_aggregator_pad_is_eos; alias c_gst_aggregator_pad_peek_buffer gst_aggregator_pad_peek_buffer; alias c_gst_aggregator_pad_pop_buffer gst_aggregator_pad_pop_buffer; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gstinterfaces/c/types.d new/GtkD-3.8.3/generated/gstreamer/gstinterfaces/c/types.d --- old/GtkD-3.8.2/generated/gstreamer/gstinterfaces/c/types.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gstinterfaces/c/types.d 2018-05-28 22:50:39.000000000 +0200 @@ -546,13 +546,13 @@ enum VIDEO_SIZE_RANGE = "(int) [ 1, max ]"; alias GST_VIDEO_SIZE_RANGE = VIDEO_SIZE_RANGE; -enum VIDEO_TILE_TYPE_MASK = 0; +enum VIDEO_TILE_TYPE_MASK = 65535; alias GST_VIDEO_TILE_TYPE_MASK = VIDEO_TILE_TYPE_MASK; enum VIDEO_TILE_TYPE_SHIFT = 16; alias GST_VIDEO_TILE_TYPE_SHIFT = VIDEO_TILE_TYPE_SHIFT; -enum VIDEO_TILE_X_TILES_MASK = 0; +enum VIDEO_TILE_X_TILES_MASK = 65535; alias GST_VIDEO_TILE_X_TILES_MASK = VIDEO_TILE_X_TILES_MASK; enum VIDEO_TILE_Y_TILES_SHIFT = 16; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gstreamer/Buffer.d new/GtkD-3.8.3/generated/gstreamer/gstreamer/Buffer.d --- old/GtkD-3.8.2/generated/gstreamer/gstreamer/Buffer.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gstreamer/Buffer.d 2018-05-28 22:50:39.000000000 +0200 @@ -502,14 +502,13 @@ * Params: * offset = the offset to extract * dest = the destination address - * size = the size to extract * * Returns: The amount of bytes extracted. This value can be lower than @size * when @buffer did not contain enough data. */ - public size_t extract(size_t offset, void* dest, size_t size) + public size_t extract(size_t offset, ubyte[] dest) { - return gst_buffer_extract(gstBuffer, offset, dest, size); + return gst_buffer_extract(gstBuffer, offset, dest.ptr, cast(size_t)dest.length); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gstreamer/Utils.d new/GtkD-3.8.3/generated/gstreamer/gstreamer/Utils.d --- old/GtkD-3.8.2/generated/gstreamer/gstreamer/Utils.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gstreamer/Utils.d 2018-05-28 22:50:39.000000000 +0200 @@ -84,11 +84,10 @@ * * Params: * mem = a pointer to the memory to dump - * size = the size of the memory block to dump */ - public static void dumpMem(char* mem, uint size) + public static void dumpMem(char[] mem) { - gst_util_dump_mem(mem, size); + gst_util_dump_mem(mem.ptr, cast(uint)mem.length); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gstreamer/gstreamer/c/types.d new/GtkD-3.8.3/generated/gstreamer/gstreamer/c/types.d --- old/GtkD-3.8.2/generated/gstreamer/gstreamer/c/types.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gstreamer/gstreamer/c/types.d 2018-05-28 22:50:39.000000000 +0200 @@ -6647,7 +6647,7 @@ /** * All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders) */ -enum ELEMENT_FACTORY_TYPE_DECODABLE = 353UL; +enum ELEMENT_FACTORY_TYPE_DECODABLE = 1377UL; alias GST_ELEMENT_FACTORY_TYPE_DECODABLE = ELEMENT_FACTORY_TYPE_DECODABLE; enum ELEMENT_FACTORY_TYPE_DECODER = 1UL; @@ -6861,7 +6861,7 @@ * Use this flag on GObject properties to signal they can make sense to be. * controlled over time. This hint is used by the GstController. */ -enum PARAM_CONTROLLABLE = 2; +enum PARAM_CONTROLLABLE = 512; alias GST_PARAM_CONTROLLABLE = PARAM_CONTROLLABLE; /** @@ -6869,7 +6869,7 @@ * they can be changed when the element is in the PAUSED or lower state. * This flag implies GST_PARAM_MUTABLE_READY. */ -enum PARAM_MUTABLE_PAUSED = 8; +enum PARAM_MUTABLE_PAUSED = 2048; alias GST_PARAM_MUTABLE_PAUSED = PARAM_MUTABLE_PAUSED; /** @@ -6877,20 +6877,20 @@ * they can be changed when the element is in the PLAYING or lower state. * This flag implies GST_PARAM_MUTABLE_PAUSED. */ -enum PARAM_MUTABLE_PLAYING = 16; +enum PARAM_MUTABLE_PLAYING = 4096; alias GST_PARAM_MUTABLE_PLAYING = PARAM_MUTABLE_PLAYING; /** * Use this flag on GObject properties of GstElements to indicate that * they can be changed when the element is in the READY or lower state. */ -enum PARAM_MUTABLE_READY = 4; +enum PARAM_MUTABLE_READY = 1024; alias GST_PARAM_MUTABLE_READY = PARAM_MUTABLE_READY; /** * Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications. */ -enum PARAM_USER_SHIFT = 256; +enum PARAM_USER_SHIFT = 65536; alias GST_PARAM_USER_SHIFT = PARAM_USER_SHIFT; /** @@ -7638,7 +7638,7 @@ /** * The micro version of GStreamer at compile time: */ -enum VERSION_MICRO = 0; +enum VERSION_MICRO = 1; alias GST_VERSION_MICRO = VERSION_MICRO; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gdk/FrameClock.d new/GtkD-3.8.3/generated/gtkd/gdk/FrameClock.d --- old/GtkD-3.8.2/generated/gtkd/gdk/FrameClock.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gdk/FrameClock.d 2018-05-28 22:50:39.000000000 +0200 @@ -212,18 +212,18 @@ * * Params: * baseTime = base time for determining a presentaton time - * refreshIntervalReturn = a location to store the determined refresh - * interval, or %NULL. A default refresh interval of 1/60th of - * a second will be stored if no history is present. + * refreshIntervalReturn = a location to store the + * determined refresh interval, or %NULL. A default refresh interval of + * 1/60th of a second will be stored if no history is present. * presentationTimeReturn = a location to store the next * candidate presentation time after the given base time. * 0 will be will be stored if no history is present. * * Since: 3.8 */ - public void getRefreshInfo(long baseTime, long* refreshIntervalReturn, long* presentationTimeReturn) + public void getRefreshInfo(long baseTime, out long refreshIntervalReturn, out long presentationTimeReturn) { - gdk_frame_clock_get_refresh_info(gdkFrameClock, baseTime, refreshIntervalReturn, presentationTimeReturn); + gdk_frame_clock_get_refresh_info(gdkFrameClock, baseTime, &refreshIntervalReturn, &presentationTimeReturn); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gdk/RGBA.d new/GtkD-3.8.3/generated/gtkd/gdk/RGBA.d --- old/GtkD-3.8.2/generated/gtkd/gdk/RGBA.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gdk/RGBA.d 2018-05-28 22:50:39.000000000 +0200 @@ -35,7 +35,7 @@ /** * A #GdkRGBA is used to represent a (possibly translucent) - * color, in a way that is compatible with cairos notion of color. + * color, in a way that is compatible with cairo’s notion of color. */ public final class RGBA { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gdkpixbuf/c/types.d new/GtkD-3.8.3/generated/gtkd/gdkpixbuf/c/types.d --- old/GtkD-3.8.2/generated/gtkd/gdkpixbuf/c/types.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gdkpixbuf/c/types.d 2018-05-28 22:50:39.000000000 +0200 @@ -406,7 +406,7 @@ * Micro version of gdk-pixbuf library, that is the "2" in * "0.8.2" for example. */ -enum PIXBUF_MICRO = 11; +enum PIXBUF_MICRO = 12; alias GDK_PIXBUF_MICRO = PIXBUF_MICRO; /** @@ -421,7 +421,7 @@ * This is the version being compiled against; contrast with * #gdk_pixbuf_version. */ -enum PIXBUF_VERSION = "2.36.11"; +enum PIXBUF_VERSION = "2.36.12"; alias GDK_PIXBUF_VERSION = PIXBUF_VERSION; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gio/Application.d new/GtkD-3.8.3/generated/gtkd/gio/Application.d --- old/GtkD-3.8.2/generated/gtkd/gio/Application.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gio/Application.d 2018-05-28 22:50:39.000000000 +0200 @@ -86,10 +86,11 @@ * instance and g_application_run() promptly returns. See the code * examples below. * - * If used, the expected form of an application identifier is very close - * to that of of a - * [D-Bus bus name](http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names-interface). - * Examples include: "com.example.MyApp", "org.example.internal-apps.Calculator". + * If used, the expected form of an application identifier is the same as + * that of of a + * [D-Bus well-known bus name](https://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names-bus). + * Examples include: `com.example.MyApp`, `org.example.internal_apps.Calculator`, + * `org._7_zip.Archiver`. * For details on valid application identifiers, see g_application_id_is_valid(). * * On Linux, the application identifier is claimed as a well-known bus name @@ -305,23 +306,47 @@ * A valid ID is required for calls to g_application_new() and * g_application_set_application_id(). * + * Application identifiers follow the same format as + * [D-Bus well-known bus names](https://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-names-bus). * For convenience, the restrictions on application identifiers are * reproduced here: * - * - Application identifiers must contain only the ASCII characters - * "[A-Z][a-z][0-9]_-." and must not begin with a digit. + * - Application identifiers are composed of 1 or more elements separated by a + * period (`.`) character. All elements must contain at least one character. * - * - Application identifiers must contain at least one '.' (period) - * character (and thus at least two elements). + * - Each element must only contain the ASCII characters `[A-Z][a-z][0-9]_-`, + * with `-` discouraged in new application identifiers. Each element must not + * begin with a digit. * - * - Application identifiers must not begin or end with a '.' (period) - * character. + * - Application identifiers must contain at least one `.` (period) character + * (and thus at least two elements). * - * - Application identifiers must not contain consecutive '.' (period) - * characters. + * - Application identifiers must not begin with a `.` (period) character. * * - Application identifiers must not exceed 255 characters. * + * Note that the hyphen (`-`) character is allowed in application identifiers, + * but is problematic or not allowed in various specifications and APIs that + * refer to D-Bus, such as + * [Flatpak application IDs](http://docs.flatpak.org/en/latest/introduction.html#identifiers), + * the + * [`DBusActivatable` interface in the Desktop Entry Specification](https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#dbus), + * and the convention that an application's "main" interface and object path + * resemble its application identifier and bus name. To avoid situations that + * require special-case handling, it is recommended that new application + * identifiers consistently replace hyphens with underscores. + * + * Like D-Bus interface names, application identifiers should start with the + * reversed DNS domain name of the author of the interface (in lower-case), and + * it is conventional for the rest of the application identifier to consist of + * words run together, with initial capital letters. + * + * As with D-Bus interface names, if the author's DNS domain name contains + * hyphen/minus characters they should be replaced by underscores, and if it + * contains leading digits they should be escaped by prepending an underscore. + * For example, if the owner of 7-zip.org used an application identifier for an + * archiving application, it might be named `org._7_zip.Archiver`. + * * Params: * applicationId = a potential application identifier * diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/glib/PtrArray.d new/GtkD-3.8.3/generated/gtkd/glib/PtrArray.d --- old/GtkD-3.8.2/generated/gtkd/glib/PtrArray.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/glib/PtrArray.d 2018-05-28 22:50:39.000000000 +0200 @@ -62,6 +62,27 @@ this.ownedRef = ownedRef; } + /** + * Number of pointers in the array + */ + public uint len() pure + { + return gPtrArray.len; + } + + /** + * Returns the pointer at the given index of the pointer array. + * + * This does not perform bounds checking on the given index, so + * you are responsible for checking it against the array length. + */ + public void* index(uint idx) + { + return (gPtrArray.pdata)[idx]; + } + + /** + */ /** * Adds a pointer to the end of the pointer array. The array will grow diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/glib/Str.d new/GtkD-3.8.3/generated/gtkd/glib/Str.d --- old/GtkD-3.8.2/generated/gtkd/glib/Str.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/glib/Str.d 2018-05-28 22:50:39.000000000 +0200 @@ -42,7 +42,7 @@ * Convert C-style 0 terminated string s to char[] string. * copied from phobos */ - public static string toString(const(char)* s, size_t len = 0) + public static string toString(const(char)* s, size_t len = 0) pure { if ( s is null ) return cast(string)null; @@ -57,7 +57,7 @@ * Convert array of chars s[] to a C-style 0 terminated string. * copied from phobos */ - public static char* toStringz(string s) + public static char* toStringz(string s) pure { if ( s is null ) return null; char[] copy; @@ -78,7 +78,7 @@ } /** */ - public static char** toStringzArray(string[] args) + public static char** toStringzArray(string[] args) pure { if ( args is null ) { @@ -96,7 +96,7 @@ } /** */ - public static char*** toStringzArray(string[][] args) + public static char*** toStringzArray(string[][] args) pure { if ( args is null ) { @@ -114,7 +114,7 @@ } /** */ - public static string[] toStringArray(const(char*)* args) + public static string[] toStringArray(const(char*)* args) pure { if ( args is null ) { @@ -132,7 +132,7 @@ } /** */ - public static string[] toStringArray(const(char*)* args, size_t len) + public static string[] toStringArray(const(char*)* args, size_t len) pure { string[] argv = new string[len]; @@ -145,7 +145,7 @@ } /** */ - public static string[][] toStringArray(char*** args) + public static string[][] toStringArray(char*** args) pure { string[][] argv; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/glib/c/types.d new/GtkD-3.8.3/generated/gtkd/glib/c/types.d --- old/GtkD-3.8.2/generated/gtkd/glib/c/types.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/glib/c/types.d 2018-05-28 22:50:39.000000000 +0200 @@ -5934,7 +5934,7 @@ * application compile time, rather than from the library * linked against at application run time. */ -enum MICRO_VERSION = 0; +enum MICRO_VERSION = 1; alias GLIB_MICRO_VERSION = MICRO_VERSION; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gobject/ObjectG.d new/GtkD-3.8.3/generated/gtkd/gobject/ObjectG.d --- old/GtkD-3.8.2/generated/gtkd/gobject/ObjectG.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gobject/ObjectG.d 2018-05-28 22:50:39.000000000 +0200 @@ -151,7 +151,11 @@ isGcRoot = false; } - g_object_remove_toggle_ref(gObject, cast(GToggleNotify)&toggleNotify, cast(void*)this); + // We only have a toggle ref if the C object hods a reference to the D object. + if ( g_object_get_data(gObject, cast(char*)"GObject") is cast(void*)this ) + g_object_remove_toggle_ref(gObject, cast(GToggleNotify)&toggleNotify, cast(void*)this); + else + g_object_unref(gObject); } } @@ -282,7 +286,7 @@ p[0..ci.initializer.length] = ci.initializer; iface = cast(Impl)p; iface.gObject = instance; - iface.addToggleRef(cast(GToggleNotify)&toggleNotify, cast(void*)iface); + iface.doref(); return iface; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gtk/Dialog.d new/GtkD-3.8.3/generated/gtkd/gtk/Dialog.d --- old/GtkD-3.8.2/generated/gtkd/gtk/Dialog.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gtk/Dialog.d 2018-05-28 22:50:39.000000000 +0200 @@ -192,7 +192,7 @@ */ this(string title, Window parent, GtkDialogFlags flags, string[] buttonsText, ResponseType[] responses) { - auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, Str.toStringz(buttonsText[0]), responses[0], null); + auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, null); if(p is null) { throw new ConstructionException("null returned by gtk_dialog_new_with_buttons"); @@ -200,13 +200,13 @@ this(cast(GtkDialog*)p); - addButtons(buttonsText[1 .. $], responses[1 .. $]); + addButtons(buttonsText[], responses[]); } /** ditto */ this(string title, Window parent, GtkDialogFlags flags, StockID[] stockIDs, ResponseType[] responses) { - auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, Str.toStringz(stockIDs[0]), responses[0], null); + auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, null); if(p is null) { throw new ConstructionException("null returned by gtk_dialog_new_with_buttons"); @@ -214,7 +214,7 @@ this(cast(GtkDialog*)p); - addButtons(stockIDs[1 .. $], responses[1 .. $]); + addButtons(stockIDs, responses); } /** */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gtk/GLArea.d new/GtkD-3.8.3/generated/gtkd/gtk/GLArea.d --- old/GtkD-3.8.2/generated/gtkd/gtk/GLArea.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gtk/GLArea.d 2018-05-28 22:50:39.000000000 +0200 @@ -177,7 +177,7 @@ /** * Creates a new #GtkGLArea widget. * - * Returns: the newly created #GtkGLArea + * Returns: a new #GtkGLArea * * Since: 3.16 * @@ -192,7 +192,7 @@ throw new ConstructionException("null returned by new"); } - this(cast(GtkGLArea*) p, true); + this(cast(GtkGLArea*) p); } /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gtk/ProgressBar.d new/GtkD-3.8.3/generated/gtkd/gtk/ProgressBar.d --- old/GtkD-3.8.2/generated/gtkd/gtk/ProgressBar.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gtk/ProgressBar.d 2018-05-28 22:50:39.000000000 +0200 @@ -277,7 +277,7 @@ * %TRUE and #GtkProgressBar:text to the empty string (not %NULL). * * Params: - * showText = whether to show superimposed text + * showText = whether to show text * * Since: 3.0 */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gtk/Widget.d new/GtkD-3.8.3/generated/gtkd/gtk/Widget.d --- old/GtkD-3.8.2/generated/gtkd/gtk/Widget.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gtk/Widget.d 2018-05-28 22:50:39.000000000 +0200 @@ -3795,9 +3795,9 @@ * navigation outside the widget, e.g. by calling * gtk_widget_child_focus() on the widget’s toplevel. * - * The default ::keynav-failed handler returns %TRUE for + * The default ::keynav-failed handler returns %FALSE for * %GTK_DIR_TAB_FORWARD and %GTK_DIR_TAB_BACKWARD. For the other - * values of #GtkDirectionType it returns %FALSE. + * values of #GtkDirectionType it returns %TRUE. * * Whenever the default handler returns %TRUE, it also calls * gtk_widget_error_bell() to notify the user of the failed keyboard diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/gtk/c/types.d new/GtkD-3.8.3/generated/gtkd/gtk/c/types.d --- old/GtkD-3.8.2/generated/gtkd/gtk/c/types.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/gtk/c/types.d 2018-05-28 22:50:39.000000000 +0200 @@ -12311,7 +12311,7 @@ * application compile time, rather than from the library linked * against at application run time. */ -enum BINARY_AGE = 2229; +enum BINARY_AGE = 2230; alias GTK_BINARY_AGE = BINARY_AGE; /** @@ -12326,7 +12326,7 @@ * application compile time, rather than from the library linked * against at application run time. */ -enum INTERFACE_AGE = 29; +enum INTERFACE_AGE = 30; alias GTK_INTERFACE_AGE = INTERFACE_AGE; /** @@ -12366,7 +12366,7 @@ * application compile time, rather than from the library linked * against at application run time. */ -enum MICRO_VERSION = 29; +enum MICRO_VERSION = 30; alias GTK_MICRO_VERSION = MICRO_VERSION; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/gtkd/rsvg/c/types.d new/GtkD-3.8.3/generated/gtkd/rsvg/c/types.d --- old/GtkD-3.8.2/generated/gtkd/rsvg/c/types.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/gtkd/rsvg/c/types.d 2018-05-28 22:50:39.000000000 +0200 @@ -126,11 +126,11 @@ enum MAJOR_VERSION = 2; alias LIBRSVG_MAJOR_VERSION = MAJOR_VERSION; -enum MICRO_VERSION = 3; +enum MICRO_VERSION = 4; alias LIBRSVG_MICRO_VERSION = MICRO_VERSION; enum MINOR_VERSION = 42; alias LIBRSVG_MINOR_VERSION = MINOR_VERSION; -enum VERSION = "2.42.3"; +enum VERSION = "2.42.4"; alias LIBRSVG_VERSION = VERSION; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/generated/vte/vte/c/types.d new/GtkD-3.8.3/generated/vte/vte/c/types.d --- old/GtkD-3.8.2/generated/vte/vte/c/types.d 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/generated/vte/vte/c/types.d 2018-05-28 22:50:39.000000000 +0200 @@ -363,7 +363,7 @@ * The micro version number of the VTE library * (e.g. in version 3.1.4 this is 4). */ -enum MICRO_VERSION = 0; +enum MICRO_VERSION = 1; alias VTE_MICRO_VERSION = MICRO_VERSION; /** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/src/APILookupGObject.txt new/GtkD-3.8.3/src/APILookupGObject.txt --- old/GtkD-3.8.2/src/APILookupGObject.txt 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/src/APILookupGObject.txt 2018-05-28 22:50:39.000000000 +0200 @@ -462,7 +462,11 @@ isGcRoot = false; } - g_object_remove_toggle_ref(gObject, cast(GToggleNotify)&toggleNotify, cast(void*)this); + // We only have a toggle ref if the C object hods a reference to the D object. + if ( g_object_get_data(gObject, cast(char*)"GObject") is cast(void*)this ) + g_object_remove_toggle_ref(gObject, cast(GToggleNotify)&toggleNotify, cast(void*)this); + else + g_object_unref(gObject); } } @@ -593,7 +597,7 @@ p[0..ci.initializer.length] = ci.initializer; iface = cast(Impl)p; iface.gObject = instance; - iface.addToggleRef(cast(GToggleNotify)&toggleNotify, cast(void*)iface); + iface.doref(); return iface; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/GtkD-3.8.2/src/APILookupGtk.txt new/GtkD-3.8.3/src/APILookupGtk.txt --- old/GtkD-3.8.2/src/APILookupGtk.txt 2018-04-20 22:50:05.000000000 +0200 +++ new/GtkD-3.8.3/src/APILookupGtk.txt 2018-05-28 22:50:39.000000000 +0200 @@ -1043,7 +1043,7 @@ */ this(string title, Window parent, GtkDialogFlags flags, string[] buttonsText, ResponseType[] responses) { - auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, Str.toStringz(buttonsText[0]), responses[0], null); + auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, null); if(p is null) { throw new ConstructionException("null returned by gtk_dialog_new_with_buttons"); @@ -1051,13 +1051,13 @@ this(cast(GtkDialog*)p); - addButtons(buttonsText[1 .. $], responses[1 .. $]); + addButtons(buttonsText[], responses[]); } /** ditto */ this(string title, Window parent, GtkDialogFlags flags, StockID[] stockIDs, ResponseType[] responses) { - auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, Str.toStringz(stockIDs[0]), responses[0], null); + auto p = gtk_dialog_new_with_buttons(Str.toStringz(title), (parent is null) ? null : parent.getWindowStruct(), flags, null); if(p is null) { throw new ConstructionException("null returned by gtk_dialog_new_with_buttons"); @@ -1065,7 +1065,7 @@ this(cast(GtkDialog*)p); - addButtons(stockIDs[1 .. $], responses[1 .. $]); + addButtons(stockIDs, responses); } /** */