Todd Weiler skrev: > Try this minimal app it works under 4.3 - does not work under 4.4 > >
It is unfortunately a general binary compatibility problem in Java that adding new methods to existing classes can have effects on preexisting subclasses. The options we have are: 1. Do not add public or protected methods to existing classes in any update (which is our policy for patch releases.) 2. Make all new methods in existing classes virtual, which not only pollutes the API and makes it difficult to use, but also causes methods to called on unexpected times and will cause erratic behavior which is both difficult to debug and has potentially dangerous effects. 3. Make all new methods in existing classes final, which is what we are doing in both Qt for C++ and Qt Jambi, and which will cause a static error to occur when the code seizes to be compatible. Choosing the third option will give you an easily debuggable exception in the Java verifier on startup of the application if there should be any naming collisions in your code, and will keep the API clean. The naming collisions cannot be avoided in general, unless we choose not to update existing classes, as in option 1. This is what our patch releases are for. The minor releases (like 4.4.0) are for introducing new API. The only thing we can do in this particular case is to change the name of setProperty() to something else. Is this the only method in question? I will register a suggestion for doing this, but I cannot guarantee that it will be accepted, as we are very late in the 4.4 .0 development cycle, and we also need to consider the readability of our own API. If the suggestion should not get accepted, the only solutions I can see is to continue using the Qt Jambi 4.3-series or to manually patch your local copy Qt Jambi to support the extensions you need, unfortunately. Thank you for the report! -- Eskil _______________________________________________ Qt-jambi-interest mailing list [email protected] http://lists.trolltech.com/mailman/listinfo/qt-jambi-interest
