Commit graph

2 commits

Author SHA1 Message Date
Michael James Gratton
bcca75f5a8 Include a back trace in problem report technical details.
This adds a dependcy on libunwind for generating the back trace.

* src/CMakeLists.txt: Require libunwind-generic package and libunwind
  VAPI. Update docs and debian/control with new dependencies.

* src/engine/api/geary-problem-report.vala (ProblemReport): Generate a
  stack trace in the default constructor if an error is specified.

* src/client/components/main-window-info-bar.vala
  (MainWindowInfoBar::format_details): Include stack trafe from problem
  report in output if present.

* ui/main-window-info-bar.ui: Add a ScrolledWindow around the TextView
  since the details could now be quite large.

* bindings/vapi/libunwind.vapi: Add bindings for libunwind courtesy
  Guillaume Poirier-Morency, add Error enum.
2017-11-18 15:25:28 +11:00
Michael James Gratton
5520c10219 Allow passing addtional information when reporting engine errors.
* src/engine/api/geary-problem-report.vala: New problem enum,
  ProblemReport class and AccountProblemReport and ServiceProblemReport
  subclasses that encapsulate error, account and service information when
  reporting problems.

* src/engine/api/geary-account.vala (Account): Remove old Problem enum,
  make report_problem signal and related notify methods accept a
  ProblemReport instance instead. Reorganise protected methods a bit and
  update subclasses and signal handlers.

* src/client/components/main-window-info-bar.vala (MainWindowInfoBar):
  Substantially rework to handle ProblemReport instances via
  for_problem() constructor.

* src/engine/imap-db/outbox/smtp-outbox-folder.vala (SmtpOutboxFolder):
  Substantially rework error handling yet again to get some better
  ProblemReport instances being generated.
2017-11-14 00:37:43 +11:00