1. 23 Apr, 2017 10 commits
    • Daniel Vrátil's avatar
      Generate Protocol from an XML specification (ABI break) · 5535d6e5
      Daniel Vrátil authored
      Instead of maintaining 12k lines of hand-written protocol code, we
      specify the protocol in an XML and use a custom-written generator
      that generates the code for us.
      
      It's not only much easier to modify the protocol - we only need to
      change a single thing in the XML instead of touching several places
      of the implementation - but it's also much safer, as there's less
      risk of accidentally introducing a bug in the code.
      
      The major difference between the original hand-written code and the
      generated code is that we no longer use QSharedDataPointer and virtual
      methods in the Private classes, but instead all members are directly
      in the command clas with most getters and setters inlined. This means
      that copying commands is quite costly, so we pass them around as
      QSharedPointers or const references. This should give us a tiny little
      bit more performance.
      5535d6e5
    • Daniel Vrátil's avatar
      Fix qdbusxml2cpp warnings · 5da66a91
      Daniel Vrátil authored
      Signal arguments must be annotated as "Out".
      5da66a91
    • Daniel Vrátil's avatar
      Only compile object files in src/private once · 7772f952
      Daniel Vrátil authored
      Use a neat cmake trick to use the compiled object files for both
      shared and static library, instead of having to compile all the
      files twice.
      7772f952
    • Daniel Vrátil's avatar
      Merge branch 'Applications/17.04' · 2b54f06b
      Daniel Vrátil authored
      2b54f06b
    • Daniel Vrátil's avatar
      Increase timeout in ResourceSynchronizationJob · a1b67a24
      Daniel Vrátil authored
      Increase from 10 to 30 seconds to make sure we don't have any
      test failures just because of a too short timeout.
      a1b67a24
    • Daniel Vrátil's avatar
      Fix possible crash in CollectionCopyJob when tracing Jobs · 8942c716
      Daniel Vrátil authored
      Wrong use of QString::arg() was causing bad allocation in certain
      cases.
      8942c716
    • Daniel Vrátil's avatar
      Prevent sending multiple error messages from a single Handler · 47113076
      Daniel Vrátil authored
      Prevent single Handler from issuing multiple failureResponse()s, or
      the Handler emitting one and then Connection sending another. The
      client Jobs only expect a single error response, so when they get
      more than one, it messses up result handling especially with nested
       jobs (like Transactions or ItemSync)
      47113076
    • Daniel Vrátil's avatar
      Fix trx deadlock when updating Search collection · e8e475a6
      Daniel Vrátil authored
      Only affects SQLite: when we are in a transaction while modifying
      a collection, calling SearchManager::updateSearch() can trigger a
      transaction deadlock, because the search result delivery mechanism
      will try to also get an exclusive lock in order to write the new
      results into the database.
      
      To workaround that we only request the search update AFTER we commit
      all changes to the Collection itself.
      e8e475a6
    • Laurent Montel's avatar
      Use qAsConst · c42acf3a
      Laurent Montel authored
      c42acf3a
    • Yuri Chornoivan's avatar
      Fix minor typos · dbcf4f23
      Yuri Chornoivan authored
      dbcf4f23
  2. 22 Apr, 2017 3 commits
  3. 20 Apr, 2017 2 commits
  4. 19 Apr, 2017 12 commits
  5. 18 Apr, 2017 1 commit
  6. 14 Apr, 2017 11 commits
  7. 13 Apr, 2017 1 commit