binary compatibility issues in kdelibs

Simon Hausmann hausmann at kde.org
Wed Jul 10 08:58:46 BST 2002


On Tue, Jul 09, 2002 at 11:45:24PM +0200, Cornelius Schumacher wrote:
> On Tuesday 09 July 2002 18:39, Simon Hausmann wrote:
> >
> > In addition all the public interface classes in libkabc (Format,
> > Resource, etc.) changed in binary incompatible ways. I find it
> > confusing though that they are marked as @internal but are still
> > installed.
> 
> The Resource classes are marked as internal because they were not 
> supposed to be part of the public interface, at least not for the 3.0 
> release. One reason was that it was quite clear that they would have to 
> be changed in binary incompatible way. They probably shouldn't have 
> been installed, but this shouldn't be a reason to require binary 
> compatibilty for them. Is this ok?

I guess that's indeed not a true reason to require it, although I
wouldn't be surprised if someone uses the classes. Developers tend
to use what they can reach. QRichText is a good example for that,
even if it has a big fat warning in the header file ;-)

I attached two patches to not install those header files anymore and to
fix the BC issue in KABC::AddressBook.

I don't know what to do with the DistributionListEditor though. It's
a public class and it even has documentation describing how to use
it. However the whole API basically changed as well as the
inheritance.

Simon
-------------- next part --------------
Index: Makefile.am
===================================================================
RCS file: /home/kde/kdelibs/kabc/Makefile.am,v
retrieving revision 1.45
diff -u -p -r1.45 Makefile.am
--- Makefile.am	2002/07/08 13:20:20	1.45
+++ Makefile.am	2002/07/10 07:53:04
@@ -22,7 +22,7 @@ libkabc_la_SOURCES = \
 kabcincludedir = $(includedir)/kabc
 kabcinclude_HEADERS = address.h addressbook.h addressee.h addresseedialog.h \
   distributionlist.h distributionlisteditor.h geo.h phonenumber.h \
-  stdaddressbook.h timezone.h resource.h resourcefile.h \
+  stdaddressbook.h timezone.h \
   vcard21parser.h field.h resourcefactory.h \
   resourceconfigwidget.h resourceselectdialog.h errorhandler.h \
   binaryformat.h \
-------------- next part --------------
Index: addressbook.h
===================================================================
RCS file: /home/kde/kdelibs/kabc/addressbook.h,v
retrieving revision 1.22
diff -u -p -r1.22 addressbook.h
--- addressbook.h	2002/07/08 11:22:12	1.22
+++ addressbook.h	2002/07/10 07:55:08
@@ -294,6 +294,7 @@ class AddressBook : public QObject
     void deleteRemovedAddressees();
 
   private:
+    QPtrList<Resource> dummy; // KDE 4.0, BC: remove me
     struct AddressBookData;
     AddressBookData *d;
 };


More information about the kde-core-devel mailing list