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);
        }
 
        /** */


Reply via email to