Ticket #329 (closed defect: fixed)
SvnQt wrapper is not binary-compatible with Subversion libraries
| Reported by: | bugs@… | Owned by: | alwin |
|---|---|---|---|
| Priority: | high | Milestone: | not applicable |
| Component: | SvnQt Wrapper | Version: | 0.14.x |
| Severity: | major | Keywords: | |
| Cc: |
Description
SvnQt? wrapper makes a direct instance of the svn_client_ctx_t Subversion structure in svn::ContextData:
http://kdesvn.alwins-world.de/trac.fcgi/browser/trunk/src/svnqt/contextdata.hpp?rev=1361#L267
And it is initialized manually, without using the proper function provided for that purpose:
http://kdesvn.alwins-world.de/trac.fcgi/browser/trunk/src/svnqt/contextdata.cpp?rev=1361#L155
As stated in Subversion documentation, this structure is not intended to be directly instantiated, it should always be used as a pointer, since its size may change between versions.
http://svn.collab.net/svn-doxygen/structsvn__client__ctx__t.html#_details http://svn.collab.net/svn-doxygen/group__clnt__ctx.html#ga1
This happened right now in Subversion 1.5.0: svn_client_ctx_t structure grew in size, covering other fields of svn::ContextData. This causes kdesvn to behave incorrectly until it is recompiled with the new libraries (and kdesvn compilation is broken with svn 1.5.0).

Oops. Longterm error got from origin lib. I'll fix it ASAP (and build problems with svn 1.5, too)