Bug 386156 - "Get new Documentation" does not add downloaded documentation
Summary: "Get new Documentation" does not add downloaded documentation
Status: RESOLVED FIXED
Alias: None
Product: frameworks-knewstuff
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Jeremy Whiting
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-10-24 22:16 UTC by Sandro Knauß
Modified: 2017-11-27 21:43 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sandro Knauß 2017-10-24 22:16:23 UTC
When trying to install a external documentation via the "Get new Documentation" button (Settings->Configure KDevelop->Documentation->"Qt Help") the file itself is successfully downloaded, but not added to the documenation list.
After I manually add the documentation from "/home/neon/kdepim/home/local/kdevelop-qthelp//libstdc++-v3.qch" I can use the documentation.

Here the snippset of the log:

  org.kde.knewstuff.core: Writing 2213 bytes of data to "/tmp/r21335-libstdc++-v3.qch"
  org.kde.knewstuff.core: Wrote 2213 bytes. File is now size 5327872
  org.kde.knewstuff.core: void KNSCore::HTTPWorker::handleFinished() QUrl("http://www.steveire.com/libstdc++-v3.qch")
  org.kde.knewstuff.core: Data for "http://www.steveire.com/libstdc++-v3.qch" was fetched "(NOT cached)"
  org.kde.knewstuff.core: Install:  "STL API Documentation"  from  "/tmp/r21335-libstdc++-v3.qch"
  org.kde.knewstuff.core: installdir:  "/home/neon/kdepim/home/local/kdevelop-qthelp/"
  org.kde.knewstuff.core: Postinstallation: uncompress the file
  Could not determine type of archive file ' "/tmp/r21335-libstdc++-v3.qch" '
  org.kde.knewstuff.core: isarchive:  false
  org.kde.knewstuff.core: installing non-archive from  "http://www.steveire.com/libstdc++-v3.qch"
  org.kde.knewstuff.core: Install to file  "/home/neon/kdepim/home/local/kdevelop-qthelp//libstdc++-v3.qch"
  org.kde.knewstuff.core: move:  "/home/neon/kdepim/home/local/kdevelop-qthelp//libstdc++-v3.qch"  to  "/home/neon/kdepim/home/local/kdevelop-qthelp//libstdc++-v3.qch"

Btw. I tried several external documentations and all show the same behaviour (frameworks, kdepimlibs, libstdc++, grantlee)
Comment 1 Friedrich W. H. Kossebau 2017-10-25 03:25:05 UTC
This bug seems a regression due some recent changes in KNewStuff code.
The signal KNS3::Button::dialogFinished(const KNS3::Entry::List &changedEntries) caries entry objects who miss to have the property installedFiles set, despite that value being properly set inside the KNewStuff code.
Which results in KDevelop looking at broken data and ignoring it then.

See https://phabricator.kde.org/D7194#159565 for some discussion.
Comment 2 Friedrich W. H. Kossebau 2017-11-27 21:43:06 UTC
Git commit bcb7dd628811a4fab92274ea9da1d670c6046a1e by Friedrich W. H. Kossebau.
Committed on 27/11/2017 at 21:42.
Pushed by kossebau into branch 'master'.

Revert "Detach before setting the d pointer"

Summary:
This reverts commits 04cc49c71bdb948e06ccae2d97d7cc1a1d2f62af as well
as the follow-up partial fix c32c8d002e1216373560c94738841a7a5e1b976b

The whole internal data sync'ing design of the KNewStuff core library
relies on EntryInternal instances explicitely sharing the data.
Changing only EntryInternal to implicitly shared data broke things.
And changed behaviour of that class also for any 3rd-party consumers.

Reviewers: whiting, leinir, apol

Reviewed By: leinir

Subscribers: #frameworks

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D9012

M  +0    -33   src/core/entryinternal.cpp

https://commits.kde.org/knewstuff/bcb7dd628811a4fab92274ea9da1d670c6046a1e