From 54ebe5d3c5cb56a0235515a9a709362deb5cdaaf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 28 Feb 2016 09:38:31 -0500 Subject: [PATCH] Add a release note about subclassing This is showing up in bug reports like https://bugzilla.gnome.org/show_bug.cgi?id=762754 so better add a note that gives a hint at the solution. --- README.in | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/README.in b/README.in index 8d7d16e00c..b171cdbb5d 100644 --- a/README.in +++ b/README.in @@ -84,12 +84,11 @@ Release notes for 3.20 the element names it has and the style classes it uses. The GTK+ inspector can also be helpful in finding this information. -* The GtkFileChooser interface pre-requisite changed from GtkWidget - to GObject, allowing non-widget implementations of this interface. - This is a minor change in ABI, as apps are no longer guaranteed - that a GtkFileChooser interface also supports all GtkWidget methods. - However, all previously existing objects still derive from GtkWidget, - so no existing code should break. +* GTK+ now uses internal subobjects (also known as gadgets) for allocating + and drawing widget parts. Applications that subclass GTK+ widgets may + see warnings if they override size_allocate and don't chain up. The + proper way to subclass is to chain up in size_allocate. If you don't + want to do that for some reason, you have to override draw as well. * Several fixes for window sizing and placement with client-side decorations may affect applications that are saving and restoring @@ -104,6 +103,13 @@ Release notes for 3.20 on having a theme-provided background, call gtk_render_background() from your ::draw handler. +* The GtkFileChooser interface pre-requisite changed from GtkWidget + to GObject, allowing non-widget implementations of this interface. + This is a minor change in ABI, as apps are no longer guaranteed + that a GtkFileChooser interface also supports all GtkWidget methods. + However, all previously existing objects still derive from GtkWidget, + so no existing code should break. + * The GtkPlacesSidebar added a GtkPlacesOpenFlags parameter to the other-locations signal in order to allow opening new windows or tabs as done with other locations. This breaks the API for those