Commit graph

148 commits

Author SHA1 Message Date
Ivailo Monev
e978590acd generic: define KDE_DEFAULT_DEBUG_AREA in the main build file for each library
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-09 23:43:20 +03:00
Ivailo Monev
669c8caa3b generic: format kimageio and krecentdirs source/header files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-05 02:47:05 +03:00
Ivailo Monev
ccb168fe34 generic: consistent headers inclusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-02 23:59:34 +03:00
Ivailo Monev
58279dcba2 kdeui: remove unused KPixmapSequenceOverlayPainter::Private class member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-02 23:59:01 +03:00
Ivailo Monev
dbb1f533e0 kdeui: KPixmapSequenceOverlayPainter optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-06-02 23:54:16 +03:00
Ivailo Monev
6e549c55ff kimgio: drop TIFF write support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-22 17:27:52 +03:00
Ivailo Monev
b3e9998d8c kimgio: fix TIFF images reading and implement write
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2023-05-22 07:54:18 +03:00
Ivailo Monev
7cfcbc3775 kdeui: new KCrash::Backtrace to log backtraces
for programs that cannot call drkonqi to show backtrace (such as
ksmserver or any non-GUI D-Bus service)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 12:28:21 +02:00
Ivailo Monev
bdff3fa4e7 kdeui: log backtrace when no KCrash flags are set
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 12:17:48 +02:00
Ivailo Monev
717fd59dc8 kdeui: send only SIGTERM before killing the selection owner via XKillClient()
XKillClient() is the same as sending SIGKILL

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-09 09:24:33 +02:00
Ivailo Monev
f27ab85ce6 kdeui: correct breaks indentation in KPixmapSequenceOverlayPainter::eventFilter()
they look really out of place, don't they?

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 13:16:20 +02:00
Ivailo Monev
802bf9aaf1 kdeui: KPixmap documentation correction
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 13:12:30 +02:00
Ivailo Monev
6c98720e24 kdeui: implement KCrash::NoRestart flag
for programs that cannot be restarted by simply exec-ing them such as the
KIO slaves which require application socket as argument

note that restarting is maybe works thing - programs started by kdesudo
cannot be restarted (properly) as they are exec-ed by other program that
does the setup for them to function the way they should

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-08 00:36:35 +02:00
Ivailo Monev
d4bf3d7a70 kdeui: exit after logging error when drkonqi is not installed
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 08:54:32 +02:00
Ivailo Monev
41418cb12b kdeui: set the KCrash handler to the default one if command line args are not initialized
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 08:33:04 +02:00
Ivailo Monev
6896f96245 kdeui: check if the KCmdLineArgs pointer is non-null before using it
fixes possible crash (e.g. when KCmdLineArgs is not initialized)

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 07:49:43 +02:00
Ivailo Monev
d258df3881 generic: unblock signals when setting handlers for them
generally, those signals should not be blocked but it seems something is
blocking consequent SIGSEGV signals send by `kill` for example

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 07:45:25 +02:00
Ivailo Monev
be2d99738e kdeui: use system() instead of QProcess to execute drkonqi
less things can go wrong

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-07 07:14:26 +02:00
Ivailo Monev
b3d1569867 kdeui: tag comment as note in KCrash::defaultCrashHandler()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 23:16:46 +02:00
Ivailo Monev
b447c353a7 kdeui: log error in case neither of the KCrash flags is set
since any message type can be set to log via syslog() that may be the only
way to know when a program without interface (such as service) crashes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 04:23:05 +02:00
Ivailo Monev
ef0dd41a12 kdeui: do not assume XDisplayString() and getenv() return non-null
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-05 00:45:26 +02:00
Ivailo Monev
aa6b5ea4f0 kinit: klauncher and KCrash rewrite
much simpler and easier to maintain, also it will be proper D-Bus
service now with no sockets, process title hack and whatnot. KCrash
and startkde script (in kde-workspace repo) have to be adjusted for
it tho

note that the internal KIO scheduler already has the functionality to
put slaves on hold but now they will be started as detached process.
eventually they may become plugins (they are loaded as such by kioslave
program) without event loop dispatcher

fixes application startup notification (ASN) and cleanup issues

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-12-04 23:20:15 +02:00
Ivailo Monev
b7e58ab6e8 kdeui: replace tab with space in KPassivePopup::setPopupStyle()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-22 23:15:33 +02:00
Ivailo Monev
ce11071465 kdeui: tune KSelectionOwner check time
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-16 03:48:33 +02:00
Ivailo Monev
118be95512 kdeui: pass the screen root window to NETWinInfo constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 16:49:00 +02:00
Ivailo Monev
cf78624887 kdeui: add new KSelectionOwner::currentOwnerWindow() method to query the current selection owner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 07:29:15 +02:00
Ivailo Monev
8ea7b7bfbc kdeui: do not automatically release the selection when it is lost
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 07:21:45 +02:00
Ivailo Monev
97d6e7cd5f kdeui: send SIGKILL and SIGTERM from KSelectionOwner::claim(), fallback to XKillClient()
because xcompmgr does not watch its selection properly, killing is safe bet

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 06:53:23 +02:00
Ivailo Monev
40ad0ba5ac kdeui: pass the current owner to kWaitForOwner() function
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 03:02:41 +02:00
Ivailo Monev
6b0375f64f kdeui: wait for owner after killing it in KSelectionOwner::claim()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 04:35:24 +02:00
Ivailo Monev
e8e1d7c908 kdeui: enable KSelectionOwner debug and warning messages
with the QDebug rewrite they no longer cause KWin crashes

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-15 01:57:27 +02:00
Ivailo Monev
9b41127ecb generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-13 00:40:18 +02:00
Ivailo Monev
a5ad00dcf8 kdeui: pass the display to KXErrorHandler from KSelectionOwner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 21:39:59 +02:00
Ivailo Monev
8d8db4e3c6 kdeui: use unique connection to X11 display from KSelectionOwner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 15:19:03 +02:00
Ivailo Monev
0af76ed8a1 kdeui: set the selection window mask to NoEventMask
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 13:56:53 +02:00
Ivailo Monev
65e719b17b kdeui: comment out some KSelectionOwner debug messages
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-12 00:50:14 +02:00
Ivailo Monev
3e973ba64b kdeui: KPixmap assignment operator optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-10 00:40:02 +02:00
Ivailo Monev
effe9ef889 kdeui: use the new QPixmap::toX11Pixmap() method in KPixmap
altought KPixmap is used mostly for pixmaps with depth equal to 32 not
being able to convert pixmaps with other depth may be a surprise so use
QPixmap::fromX11Pixmap() in KPixmap::toImage() just in case

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 20:02:39 +02:00
Ivailo Monev
b63686e9d0 generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 04:43:56 +02:00
Ivailo Monev
49c47bf850 kdeui: add comments about values passed to X11 functions in kpixmap source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 01:52:33 +02:00
Ivailo Monev
28ae883aeb kdeui: KPixmap from QPixmap constructor optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 01:40:39 +02:00
Ivailo Monev
b9169a25a5 kdeui: KPixmap::toImage() optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 01:10:33 +02:00
Ivailo Monev
a4c80f09d2 kdeui: log KPixmap and KSelectionOwner debug/warning messages to the kdeui (kdelibs) debug area
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 02:28:14 +02:00
Ivailo Monev
a5734faf0f kdeui: new KPixmap class
very much written for use case, not to make sense. while porting to it I
already noticed there are leaks for X11 pixmaps and may have to write
glue code to keep track of the pixmaps and release them before
application quits, that will be a huge performance penalty tho so may
have to be ifdef'ed for debug builds only

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-09 02:08:27 +02:00
Ivailo Monev
6b7cd4e1e4 kdeui: remove redundant selection clearing in KSelectionOwner::release()
if both the destroy and selection clearing are delivered (in that order) to
selection poller, the poller selection may be cleared

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 11:27:11 +02:00
Ivailo Monev
7baf0c9d61 kdeui: catch X11 errors during selection owner window creation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 08:14:33 +02:00
Ivailo Monev
081477c628 kdeui: do not attempt to kill timer with 0 as ID in KSelectionOwner::release()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 08:05:15 +02:00
Ivailo Monev
cdc18e2e52 kdeui: remove unused QTimer header inclusion in kselectionowner source file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 06:12:58 +02:00
Ivailo Monev
a6367dede7 kdeui: brief KSelectionOwner documentation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-06 06:12:37 +02:00
Ivailo Monev
491dc6383a kdeui: simplify selection claiming
using XSetSelectionOwner() to do it works like a charm

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
2022-11-05 20:11:20 +02:00