gtkd-developers / GtkD

GtkD is a D binding and OO wrapper of GTK+ originally created by Antonio Monteiro
http://gtkd.org
Other
322 stars 71 forks source link

Functions deprecated but alternative .c modules not available #200

Closed gnunn1 closed 7 years ago

gnunn1 commented 7 years ago

various functions in GtkD are deprecated which depend on the LIBRARY methods in Loader. However, to use the alternative non-deprecated function you need to have access to the various .c modules, for example vte.c.functions but 3.6.3 does not actually generated them.

Is this a case of catching things while they are still in progress and should ignore the deprecations for now?

See issue https://github.com/gnunn1/tilix/issues/938 for examples.

MikeWey commented 7 years ago

gnunn1/tilix/issues/938 mentions 3 issues.

  1. The deprecation message is from the import access changes introduced in 2.071. But the gtk modules publicly import the gtkc.gtktypes module so i don't think the deprecation would apply here. I'll have to check what is going on.

  2. That change shouldn't have been in a bugfix release. gtkc.paths was deprecated in favor of a variable generated by the generator, for example for vte: https://github.com/gtkd-developers/GtkD/blob/216301209b663864f82e1254edac4b1ef08a3064/generated/vte/vtec/vte.d#L31-L36

  3. This is the most recent change (in master), i put public imports of the new locations in the old modules. But that doesn't seem to work for fully qualified names.

MikeWey commented 7 years ago
  1. Was introduced in dmd 2.073, and depends on the order in which the imports appear in Tillix and GtkD. https://issues.dlang.org/show_bug.cgi?id=17434

3 . Fixed in master with commit 31a33cc8c85d1410f02eea478dfb75cfcc8eedbc, and that also fixes 1.

MikeWey commented 7 years ago

I've tagged v3.6.4 with the deprecation warning commented out, since they don't belong in a bugfix release. That should take care of 2.

gnunn1 commented 7 years ago

Thanks Mike, works great!