Skip to content
Snippets Groups Projects
  1. Oct 31, 2019
  2. Oct 20, 2019
  3. Sep 26, 2019
  4. Sep 25, 2019
  5. Sep 21, 2019
  6. Sep 19, 2019
  7. Sep 16, 2019
  8. Sep 15, 2019
  9. Sep 09, 2019
  10. Sep 04, 2019
  11. Aug 10, 2019
  12. Aug 04, 2019
  13. Jul 28, 2019
  14. Sep 07, 2018
  15. Sep 05, 2018
  16. May 21, 2018
  17. Sep 03, 2017
  18. Jun 17, 2017
  19. Jun 13, 2017
  20. Dec 07, 2016
  21. Nov 30, 2016
  22. Nov 23, 2016
  23. Nov 17, 2016
  24. Nov 03, 2016
  25. Sep 07, 2016
  26. Aug 17, 2016
    • Nat Goodspeed's avatar
      MAINT-5011: Catch kdu_exception (aka int) in case it leaks out. · 0eac1f41
      Nat Goodspeed authored
      KDU internally throws kdu_exception, which is a typedef for int. It's possible
      that such an exception might leak out.
      
      Our usual strategy for unknown exceptions is to catch (...) and let
      boost::current_exception_diagnostic_information() handle them. However, for
      int (or a class not derived from std::exception), that function will only
      shrug and report no information available.
      
      Besides, we want to format kdu_exception specially anyway. First, the KDU
      #defines are in hex, so we should report the value in hex. But on inspection,
      certain of those hex values are actually multibyte ASCII literals in disguise
      -- so also report the byte string value.
      0eac1f41
    • Nat Goodspeed's avatar
      MAINT-5011: Derive image-load exceptions from LLContinueError. · 83eb9600
      Nat Goodspeed authored
      Failure to load an image shouldn't crash the whole viewer.
      83eb9600
    • Nat Goodspeed's avatar
      MAINT-5011: Try to enrich catch (...) logging throughout viewer. · 993f54f6
      Nat Goodspeed authored
      Turns out we have a surprising number of catch (...) clauses in the viewer
      code base. If all we currently do is
      
          LL_ERRS() << "unknown exception" << LL_ENDL;
      
      then call CRASH_ON_UNHANDLED_EXCEPTION() instead. If what we do is
      
          LL_WARNS() << "unknown exception" << LL_ENDL;
      
      then call LOG_UNHANDLED_EXCEPTION() instead.
      
      Since many places need LOG_UNHANDLED_EXCEPTION() and nobody catches
      LLContinueError yet, eliminate LLContinueError& parameter from
      LOG_UNHANDLED_EXCEPTION(). This permits us to use the same log message as
      CRASH_ON_UNHANDLED_EXCEPTION(), just with a different severity level.
      
      Where a catch (...) clause actually provides contextual information, or makes
      an error string, add boost::current_exception_diagnostic_information() to try
      to figure out actual exception class and message.
      993f54f6
    • Nat Goodspeed's avatar
    • Nat Goodspeed's avatar
      MAINT-5011: Use LLTHROW() instead of plain BOOST_THROW_EXCEPTION(). · 5e9d2f57
      Nat Goodspeed authored
      A level of preprocessor indirection lets us later change the implementation if
      desired.
      5e9d2f57
  27. Aug 06, 2016
    • Nat Goodspeed's avatar
      MAINT-6584: Don't crash on inconsistent dims in a JPEG-2000 image. · 1773f44b
      Nat Goodspeed authored
      Previous code would crump with LL_ERRS. But a bad image file should fail only
      the image load -- not crash the viewer.
      
      While at it, validate all components present, not just 0, 1, 2.
      
      While at it, make the failure message report which component and what the
      mismatched dimensions are, not just "Components don't have matching
      dimensions!"
      1773f44b
  28. Aug 05, 2016
  29. Aug 04, 2016
    • Nat Goodspeed's avatar
      MAINT-6584: Comment out completely unused LLImageJ2CKDU code. · 2ce38c3c
      Nat Goodspeed authored
      The only call to the findDiscardLevelsBoundaries() method was commented out
      inside initDecode(), with a comment:
              // Merov : Test!! DO NOT COMMIT!!
      
      This was the only caller of copy_tile(), which was the only caller of
      copy_block(). Commented out all three of these (biggish!) functions, since I
      have no idea what any of them were supposed to do or when it might be useful
      to call them. In other words, I can't yet rule out the possibility that I
      might have to uncomment them.
      2ce38c3c
  30. Jul 26, 2016
Loading