1. 26 Şub, 2015 35 kayıt (commit)
  2. 25 Şub, 2015 5 kayıt (commit)
    • Michael Stahl's avatar
      tdf#89666: vcl: speed up HbLayoutEngine line layout for large paragraphs · 7fde44c8
      Michael Stahl yazdı
      When formatting a 180k char Writer paragraph, most of the time is spent
      in vcl::ScriptRun::next(), which is called twice per line from
      SwTxtGuess::Guess(), once via GetTxtBreak() and once via GetTxtSize().
      
      In the second call, from GetTxtSize(), the end position of the line is
      known, and passed to vcl, and iterating beyond that position seems
      pointless.
      
      This reduces vcl::ScriptRun::next() from 24 to 11 billion callgrind
      cycles when built with GCC 4.9.2 -m32 -Os.
      
      Change-Id: Ia23fcccaf5ef9c9ecdcb54bfc8f0f8a043c8711e
      7fde44c8
    • Michael Stahl's avatar
      tdf#89665: i18npool: fix pathological transliterate slow-path · 88d4b2fb
      Michael Stahl yazdı
      TransliterationImpl::transliterate() has a slow-path for the case when
      more than one trasliteration module is cascaded which swaps 2
      uno::Sequence.  This is unbelievably slow because non-const
      Sequence::operator[] does a function call into cppu to check whether COW
      has to be done.
      
      This speeds up transliterate() from 344 billion to 101 billion callgrind
      cycles when built with GCC 4.9.2 -m32 -Os.
      
      Commit d2771b63 added a second
      transliteration module that is enabled by default, making the problem
      visible, especially with long paragraphs in Writer.
      
      Change-Id: I2799df9173ac73aab8c4eb4cc6f592976b06c8da
      88d4b2fb
    • Michael Stahl's avatar
      vcl: these compare functions use subtraction and could overflow · b8251672
      Michael Stahl yazdı
      Change-Id: I84c7a4cde694395fa70c60edffd63fb45ffcb3a8
      b8251672
    • Michael Stahl's avatar
      connectivity: replace magic numbers with constants from CompareBookmark · 250ef02b
      Michael Stahl yazdı
      Change-Id: Ifcd5766ce10de44f38d5c383cd7dc35b75152e88
      250ef02b
    • Tor Lillqvist's avatar
      tdf#84881: Try to fix "The signature includes an embedded timestamp but ... · 86796f12
      Tor Lillqvist yazdı
      ... it could not be verified"
      
      I got some insight reading this question and reply on stackoverflow:
      http://stackoverflow.com/questions/18761993/steps-to-include-timestamp-in-pdf-signature
      
      I had been doing the timestamping wrong in the same way: I had timestamped the
      hash of the PDF document, not of the signature. That is wrong. If you think
      hard, it is obvious: It is the (rest of the) signature that needs an
      authenticated timestamp, not the PDF document contents. After all, if the
      document contents is timestamped, but not the signature, that doesn't prevent
      tampering with the signature after the timestamping. When you timestamp the
      signature, that proves the date of the signature. (And the signature proves
      the authenticity of the document contents.)
      
      So I had to re-engineer the code a bit. I create two originally identical NSS
      CMS messages with signatures, encode one signature into DER, take the hash of
      the signature, get a timestamp from the TSA for that hash. Then I add that
      timestamp to the other CMS message as an unsigned attribute of its signature,
      sign it, encode it, convert to hex, and store it the document.
      
      (I first tried to use just one CMS message, but NSS stopped with an assertion
      when I tried to encode the signature of the same message a second time, after
      adding the timestamp attribute to the signature. Go figure.)
      
      (I did verify the the encoded signatures, taken from what should be identical
      but separate CMS messages, was in fact identical. So I am fairly sure the idea
      described above is sound.)
      
      But, it doesn't help. Adobe Reader still complains "The signature includes an
      embedded timestamp but it could not be verified".
      
      Change-Id: I4e4cd0443005e82f597586942badc7145ef64160
      86796f12