[kate] [Bug 448903] Allow the user to set default behavior regarding autoreload and automatic close

2023-06-09 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=448903

Marcel Martin  changed:

   What|Removed |Added

 CC||m...@freenet.de

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

[print-manager] [Bug 326289] plasma-desktop crashed after configuring printer applet [JobModel::updateJob]

2018-12-07 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=326289

--- Comment #28 from Marcel Martin  ---
> Interesting, so you're saying that my boot problem was because
> there were jobs in the print queue?

To be precise: The problem occurs whenever there are at least two jobs in your
print queue with identical job ids. This should normally not happen, but it
apparently does sometimes. 

When Plasma starts up, it loads various apps, including the one responsible for
the printer status icon in the system tray. When that one is loaded, it goes
through the jobs in the print queue and tries to gather information about them.
When it does so and encounters two jobs with the same id, it crashes, taking
Plasma with it. At least that is my theory so far.

Did you try 'cancel -a'? It would be interesting to know whether that fixes the
problem.

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

[print-manager] [Bug 326289] plasma-desktop crashed after configuring printer applet [JobModel::updateJob]

2018-12-07 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=326289

--- Comment #26 from Marcel Martin  ---
A temporary fix should be to delete all queued print jobs because the problem
occurs when there are multiple print jobs with the same id. Then you don’t have
to uninstall cups and will still be able to print.

On the commandline, you should be able to delete all jobs by running "cancel
-a". Or read <https://askubuntu.com/questions/350334/>.

I have not tested this on my machine as I want to be able to reproduce the
crash when necessary.

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

[systemsettings] [Bug 248443] suggestion for 'What's this?" text

2018-11-05 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=248443

Marcel Martin  changed:

   What|Removed |Added

 Status|REPORTED|RESOLVED
 Resolution|--- |NOT A BUG

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

[kdelibs] [Bug 264554] suggestion for 'What's this?" text

2018-11-05 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=264554

Marcel Martin  changed:

   What|Removed |Added

 Status|NEEDSINFO   |RESOLVED
 Resolution|WAITINGFORINFO  |NOT A BUG

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

[kuser] [Bug 276604] suggestion for "What's this?" text

2018-11-05 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=276604

Marcel Martin  changed:

   What|Removed |Added

 Resolution|--- |NOT A BUG
 Status|REPORTED|RESOLVED

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

[print-manager] [Bug 326289] plasma-desktop crashed after configuring printer applet [JobModel::updateJob]

2018-06-11 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=326289

Marcel Martin  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|FIXED   |---

--- Comment #22 from Marcel Martin  ---
Thanks so much for looking into this! Unfortunately, the crash is still there.

(Sorry for the late reply, but for some reason I wasn’t notified that this
report had been updated.)

However, your changes made it a bit easier for me to continue debugging this.
As it turns out, the problem appears to be that I have two jobs that have the
same id. That is, within getJobFinished(), the 'jobs' variable (KCupsJobs)
contains four jobs, and the first two have the same .id(). (They also have the 
same .name().) I have four jobs in total.

Here is what happens inside the for loop over the KCupsJobs (the JobModel is
initially empty, i.e. rowCount() == 0 at the start)

- Iteration/job 0: jobRow() for this KCupsJob returns -1, which means that the
job isn’t in the model. The job is inserted at index 0.

- Iteration/job 1: jobRow() for this KCupsJob returns 0 because this KCupsJob
has the same id as the one that was just inserted. updateJob() is called for
row 0. Then the condition in "if (job_row != i)" is true ("found at wrong
position") and the code tries to take row 0 and insert it at index 2. This
fails for some reason so that there are actually no rows in the model anymore
(rowCount() == 0). Perhaps insertRow() has undefined behavior when the given
row index is greater than rowCount()?

- Iteration/job 2: jobRow() for this KCupsJob returns -1 as it is a different
job. The code tries to insert it at index 2. insertJob() calls updateJob() with
pos = 2, which crashes at some point because rowCount() is actually 0.

I have no idea why the duplicate jobs exist, but they are also visible on
<http://localhost:631/jobs/>, so they’re real.

I’ve attempted to fix the problem in getJobFinished() by just inserting all
jobs when the model is empty:

if (rowCount() == 0) {
for (int i = 0; i < jobs.size(); ++i) {
insertJob(i, jobs.at(i));
}
} else {
// (previous loop here)

For me, this avoids the crash during startup. (I’m not suggesting this is a
proper fix.)

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

[print-manager] [Bug 326289] plasma-desktop crashed after configuring printer applet [JobModel::updateJob]

2018-05-17 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=326289

--- Comment #17 from Marcel Martin <m...@freenet.de> ---
I can reliably reproduce this crash on Kubuntu 18.04. I tried to debug it using
the Git version of print-manager. I’m not familiar with the code, so I don’t
think I can submit a patch, but I think I can pinpoint the problem.

The crash occurs in line 328 in JobModel.cpp (in JobModel::updateJob()):
<https://github.com/KDE/print-manager/blob/9172f63f16a663b58de919e485579453e12d5560/libkcups/JobModel.cpp#L328>

The line is:

if (item(pos, ColStatus)->data(RoleJobState).toInt() != jobState) {

The expression item(pos, ColStatus) evaluates to NULL, hence the crash.

In my case, updateJob() is called from JobModel::getJobFinished() at line 202
within a branch described as "found at wrong position, take it and insert on
the right position", see
<https://github.com/KDE/print-manager/blob/9172f63f16a663b58de919e485579453e12d5560/libkcups/JobModel.cpp#L202>

Perhaps this is already enough for one of the developers to come up with a
solution. I’d be happy to help as much as I can.

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

[print-manager] [Bug 326289] plasma-desktop crashed after configuring printer applet [JobModel::updateJob]

2018-03-12 Thread Marcel Martin
https://bugs.kde.org/show_bug.cgi?id=326289

Marcel Martin <m...@freenet.de> changed:

   What|Removed |Added

 CC||m...@freenet.de

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

[khelpcenter] [Bug 250956] suggestion for 'What's this?" text

2016-03-14 Thread Marcel Martin via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=250956

--- Comment #2 from Marcel Martin <m...@freenet.de> ---
Thanks!

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


[krunner] [Bug 353977] Krunner crashes when connecting/disconnecting second monitor.

2015-12-02 Thread Marcel Martin via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=353977

--- Comment #4 from Marcel Martin <m...@freenet.de> ---
My C++ foo is limited, but I believe this is the relevant part of the
backtrace:

#10 0x7f53b3e02f31 in std::terminate() () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x7f53b3e03a7f in __cxa_pure_virtual () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x7f53b46ce96a in QPlatformScreen::physicalSize (this=)
at kernel/qplatformscreen.cpp:131 
#13 0x7f53b47087b2 in QScreen::physicalSize (this=this@entry=0x26bd450) at
kernel/qscreen.cpp:245
#14 0x7f53b4708869 in QScreen::physicalDotsPerInch (this=0x26bd450) at
kernel/qscreen.cpp:168
#15 0x7f53b8d97c49 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5
#16 0x7f53b43c59c9 in QMetaObject::activate (sender=sender@entry=0x289a100,
signalOffset=, local_signal_index=local_signal_index@entry=0,
argv=argv@entry=0x7ffcd4ccd7d0) at kernel/qobject.cpp:3716 

and 

#27 0x7f53b4708679 in QScreen::~QScreen (this=0x26bd450,
__in_chrg=) at kernel/qscreen.cpp:77
#28 0x7f53b46cef2a in QPlatformScreen::~QPlatformScreen (this=0x26bd1f0,
__in_chrg=) at kernel/qplatformscreen.cpp:57
#29 0x7f53a6cde769 in QXcbScreen::~QXcbScreen (this=0x26bd1f0,
__in_chrg=) at qxcbscreen.cpp:222 

QPlatformScreen::physicalSize is a pure virtual function. __cxa_pure_virtual is
an error handler that gets called when a pure virtual function is called. I
think this is what happens:

- QXcbScreen destructor is called (#29)
- which in turn calls QScreen destructor (#28)
- which in turn calls QPlatformScreen destructor (#27)
- which somehow triggers that a signal is emitted
- that signal then ends up being received by the QXcbScreen instance, which is
already destroyed

This could also explain the question marks in frame #15.

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