The source project of this merge request has been removed.
add nullptr judgement which will led kwin crash sometimes
if client use dnd protocol with some error. Sometimes it will led kwin crash because of datasource is nullptr.
Executable: /usr/bin/kwin_wayland
Control Group: /user.slice/user-1000.slice/session-30.scope Unit: session-30.scope Slice: user-1000.slice Session: 30 Owner UID: 1000 (aaa) Boot ID: 64809e5fb5904848b92fb669c5a7ae1f Machine ID: 3f72f2d1e31c45f9af8d423099db2665 Hostname: aaa-PC Storage: /var/lib/systemd/coredump/core.kwin_wayland.1000.64809e5fb5904848b92fb669c5a7ae1f.23309.1604369884000000.lz4 Message: Process 23309 (kwin_wayland) of user 1000 dumped core.
Stack trace of thread 23309:
#0 0x0000007fa3042488 wl_resource_get_version (libwayland-server.so.0)
#1 0x0000007fa65796e4 _ZN8KWayland6Server19DataSourceInterface11dndFinishedEv (libKF5WaylandServer.so.5)
#2 0x0000007fa6576f50 _ZN8KWayland6Server18DataOfferInterface7Private14finishCallbackEP9wl_clientP11wl_resource (libKF5WaylandServer.so.5)
#3 0x0000007fa1d89d6c ffi_call_SYSV (libffi.so.6)
#4 0x0000007fa1d8a694 ffi_call (libffi.so.6)
#5 0x0000007fa3047070 wl_closure_invoke (libwayland-server.so.0)
#6 0x0000007fa30436ec wl_client_connection_data (libwayland-server.so.0)
#7 0x0000007fa30453bc wl_event_loop_dispatch (libwayland-server.so.0)
#8 0x0000007fa6580d14 _ZN8KWayland6Server7Display7Private8dispatchEv (libKF5WaylandServer.so.5)
#9 0x0000007fa6580998 _ZZN8KWayland6Server7Display7Private21installSocketNotifierEvENKUlvE_clEv (libKF5WaylandServer.so.5)
#10 0x0000007fa6588ccc call (libKF5WaylandServer.so.5)
#11 0x0000007fa6588588 call<QtPrivate::List<>, void> (libKF5WaylandServer.so.5)
#12 0x0000007fa6586884 impl (libKF5WaylandServer.so.5)
#13 0x0000007fa51bb450 n/a (libQt5Core.so.5)
#14 0x0000007fa51bf39c _ZN15QSocketNotifier9activatedE17QSocketDescriptorNS_4TypeENS_14QPrivateSignalE (libQt5Core.so.5)
#15 0x0000007fa51bfd0c _ZN15QSocketNotifier5eventEP6QEvent (libQt5Core.so.5)
#16 0x0000007fa5c353ac _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt5Widgets.so.5)
#17 0x0000007fa5c3c424 _ZN12QApplication6notifyEP7QObjectP6QEvent (libQt5Widgets.so.5)
#18 0x0000007fa5182084 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt5Core.so.5)
#19 0x0000007fa51dcdb0 _ZN27QEventDispatcherUNIXPrivate23activateSocketNotifiersEv (libQt5Core.so.5)
#20 0x0000007fa51dd104 _ZN20QEventDispatcherUNIX13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt5Core.so.5)
#21 0x0000007f9ead80c4 _ZN23QUnixEventDispatcherQPA13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (KWinQpaPlugin.so)
#22 0x0000007fa51807f4 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt5Core.so.5)
#23 0x0000007fa51895d0 _ZN16QCoreApplication4execEv (libQt5Core.so.5)
#24 0x000000000040faa4 main (kwin_wayland)
#25 0x0000007fa4996d24 __libc_start_main (libc.so.6)
#26 0x0000000000409a0c $x (kwin_wayland)
#27 0x0000000000409a0c $x (kwin_wayland)