https://bugs.kde.org/show_bug.cgi?id=420774

            Bug ID: 420774
           Summary: Library shows error messages by itself and quits the
                    application when it can not find its resource files
           Product: KReport
           Version: 3.2.0 Beta
          Platform: Compiled Sources
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: stan...@kde.org
          Reporter: jf...@infoblitz.com
  Target Milestone: ---

SUMMARY

I am trying to use KReport from a QML application. That application fetches the
report layouts from a PostgreSQL and just needs to print the report, thus it
does not use any of the designer features — layouts are designed in an external
application, Kexi for now — but, the first time i try to call
KReportPreRenderer.setDocument, the library complains that it can not find the
resources for its icons.

The error is the following:

> Could not open icon resource file "kreport_breeze.rcc".
> Application will not start. Please check if it is properly installed.

That, by itself, is a mild annoyance; the problem is that the library decides
to popup a KMessageBox without giving any chance to the application to display
that error in its usual way — using QML controls in this case.

Worse still, after the KMessageBox it calls qFatal, effectively calling
std::abort, and terminates the application.

In my opinion, the library has not enough context to known whether the error is
fatal or no — for instance, in my case it does not matter whether the icons are
loaded — and should let the application handle the error.  In the case of Kexi
it might be OK to abort, but as a general library it may be not.

This report is to see if you agree that the library should not behave like this
and, if you do agree, start discussions for a different design.

I do not have any proposal because it is a bit hard to reach the application
from where the error occurs. It seems that it is in the constructor of
KReportPluginManager, instantiated by KReportPluginManagerSingleton the first
time someone — KReportPreRenderer in my case— tries to use the plugin. Short of
with an exception, right now i do not see how i can receive the error message….

Do you have any thoughts on this?
What is the usual error reporting mechanism for KDE libraries?

Thank you.


SOFTWARE/OS VERSIONS
Linux/KDE Plasma: openSUSE 15.1
KDE Plasma Version: N/A
KDE Frameworks Version: 5.69.0 
Qt Version: 5.12.2

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to