Bug 463471 - Crash after pressing save on the text editor
Summary: Crash after pressing save on the text editor
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (other bugs)
Version First Reported In: 5.1.4
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-12-26 00:13 UTC by maplespace
Modified: 2023-04-18 13:10 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description maplespace 2022-12-26 00:13:29 UTC
Application: krita (5.1.4)

Qt Version: 5.15.7
Frameworks Version: 5.101.0
Operating System: Linux 6.0.12-arch1-1 x86_64
Windowing System: X11
Distribution: "Arch Linux"
DrKonqi: 5.26.4 [KCrashBackend]

-- Information about the crash:
I was trying to save some text I wrote when Krita crashed. Another unusual thing was that when I was typing, there was a lot of lag (it took a few seconds for the result to show up on the editor), and whenever I typed it would result in 100% of a core of my CPU being used until it was done updating the text in the text editor.

The reporter is unsure if this crash is reproducible.

-- Backtrace:
Application: Krita (krita), signal: Segmentation fault

[KCrash Handler]
#4  0x00007facd93a96b5 in QWidget::setFocus(Qt::FocusReason) () from /usr/lib/libQt5Widgets.so.5
#5  0x00007facd9378ebb in QApplicationPrivate::giveFocusAccordingToFocusPolicy(QWidget*, QEvent*, QPoint) () from /usr/lib/libQt5Widgets.so.5
#6  0x00007facd937efd6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#7  0x00007facda61beaf in KisApplication::notify(QObject*, QEvent*) () from /usr/lib/libkritaui.so.18
#8  0x00007facd868cf98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#9  0x00007facd937c337 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /usr/lib/libQt5Widgets.so.5
#10 0x00007facd93cd3b5 in ?? () from /usr/lib/libQt5Widgets.so.5
#11 0x00007facd93cf15e in ?? () from /usr/lib/libQt5Widgets.so.5
#12 0x00007facd9378b1c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQt5Widgets.so.5
#13 0x00007facda61beaf in KisApplication::notify(QObject*, QEvent*) () from /usr/lib/libkritaui.so.18
#14 0x00007facd868cf98 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/libQt5Core.so.5
#15 0x00007facd8b3f15c in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/libQt5Gui.so.5
#16 0x00007facd8b289a5 in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Gui.so.5
#17 0x00007facd2b2f710 in ?? () from /usr/lib/libQt5XcbQpa.so.5
#18 0x00007facd611687b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#19 0x00007facd616d299 in ?? () from /usr/lib/libglib-2.0.so.0
#20 0x00007facd6115132 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#21 0x00007facd86d7c4c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#22 0x00007facd868573c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#23 0x00007facd8690269 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#24 0x000055ec03bb289f in ?? ()
#25 0x00007facd7e3c290 in ?? () from /usr/lib/libc.so.6
#26 0x00007facd7e3c34a in __libc_start_main () from /usr/lib/libc.so.6
#27 0x000055ec03bb4a55 in ?? ()
[Inferior 1 (process 908895) detached]

Reported using DrKonqi
Comment 1 Halla Rempt 2023-01-04 11:40:29 UTC
I cannot reproduce this crash, and the backtrace is entirely inside Qt

* Could you also attach the output of help->system information for bug reports?
* Which widget style are you using
* Can you reproduce the issue with the appimage?
Comment 2 Bug Janitor Service 2023-01-19 05:14:27 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 3 maplespace 2023-01-21 18:56:08 UTC
(In reply to Halla Rempt from comment #1)

Sorry for the late reply! I tried to replicate the bug once again and while it didn't crash the lag was still there. As with last time, when it lagged, it used up a full CPU core as well.

> * Could you also attach the output of help->system information for bug
> reports?

Krita

 Version: 5.1.5
 Hidpi: true

Qt

  Version (compiled): 5.15.7
  Version (loaded): 5.15.8

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 6.1.5-arch2-1
  Pretty Productname: Arch Linux
  Product Type: arch
  Product Version: unknown
  Desktop: KDE

Locale

  Languages: en_US, en, en_Latn_US
  C locale: en_US.UTF-8
  QLocale current: en
  QLocale system: en
  QTextCodec for locale: UTF-8

OpenGL Info
 
  Vendor:  "AMD" 
  Renderer:  "AMD Radeon Graphics (renoir, LLVM 14.0.6, DRM 3.49, 6.1.5-arch2-1)" 
  Version:  "4.6 (Compatibility Profile) Mesa 22.3.3" 
  Shading language:  "4.60" 
  Requested format:  QSurfaceFormat(version 3.0, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
  Current format:  QSurfaceFormat(version 4.6, options QFlags<QSurfaceFormat::FormatOption>(DeprecatedFunctions), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CompatibilityProfile) 
     Version: 4.6
     Supports deprecated functions true 
     is OpenGL ES: false 
  supportsBufferMapping: true 
  supportsBufferInvalidation: true 
  forceDisableTextureBuffers: false 
  Extensions: 
     "GL_ARB_shader_texture_image_samples" 
     "GL_ATI_separate_stencil" 
     "GL_ARB_sparse_texture_clamp" 
     "GL_AMD_framebuffer_multisample_advanced" 
     "GL_ARB_shader_image_load_store" 
     "GL_ARB_depth_texture" 
     "GL_ARB_shader_atomic_counter_ops" 
     "GL_ARB_draw_buffers" 
     "GL_SGIS_texture_edge_clamp" 
     "GL_ARB_texture_view" 
     "GL_INTEL_blackhole_render" 
     "GL_KHR_robust_buffer_access_behavior" 
     "GL_ATI_texture_float" 
     "GL_EXT_draw_range_elements" 
     "GL_ARB_texture_stencil8" 
     "GL_EXT_texture_compression_dxt1" 
     "GL_ANGLE_texture_compression_dxt5" 
     "GL_ARB_ES3_1_compatibility" 
     "GL_ARB_clear_texture" 
     "GL_ARB_multisample" 
     "GL_ARB_shader_bit_encoding" 
     "GL_KHR_debug" 
     "GL_NV_compute_shader_derivatives" 
     "GL_EXT_texture_compression_s3tc" 
     "GL_AMD_seamless_cubemap_per_texture" 
     "GL_ARB_compute_variable_group_size" 
     "GL_NV_ES1_1_compatibility" 
     "GL_ARB_texture_swizzle" 
     "GL_ARB_arrays_of_arrays" 
     "GL_EXT_texture_integer" 
     "GL_ARB_texture_env_dot3" 
     "GL_EXT_packed_float" 
     "GL_NV_texgen_reflection" 
     "GL_ARB_texture_rgb10_a2ui" 
     "GL_EXT_semaphore_fd" 
     "GL_NV_texture_barrier" 
     "GL_ARB_texture_mirrored_repeat" 
     "GL_NV_copy_depth_to_color" 
     "GL_ARB_gl_spirv" 
     "GL_NV_blend_square" 
     "GL_ARB_texture_env_combine" 
     "GL_ARB_window_pos" 
     "GL_ARB_fragment_layer_viewport" 
     "GL_NV_copy_image" 
     "GL_EXT_gpu_program_parameters" 
     "GL_ARB_clear_buffer_object" 
     "GL_ARB_shader_objects" 
     "GL_EXT_window_rectangles" 
     "GL_EXT_debug_label" 
     "GL_EXT_direct_state_access" 
     "GL_ARB_multi_bind" 
     "GL_ARB_texture_query_levels" 
     "GL_ARB_explicit_uniform_location" 
     "GL_ARB_buffer_storage" 
     "GL_EXT_texture3D" 
     "GL_ARB_seamless_cubemap_per_texture" 
     "GL_EXT_texture_compression_rgtc" 
     "GL_AMD_vertex_shader_viewport_index" 
     "GL_ARB_shader_ballot" 
     "GL_EXT_texture_filter_anisotropic" 
     "GL_ARB_clip_control" 
     "GL_EXT_texture_cube_map" 
     "GL_EXT_blend_color" 
     "GL_KHR_no_error" 
     "GL_MESA_window_pos" 
     "GL_ARB_fragment_shader" 
     "GL_NV_half_float" 
     "GL_EXT_framebuffer_sRGB" 
     "GL_EXT_multi_draw_arrays" 
     "GL_ARB_viewport_array" 
     "GL_ARB_bindless_texture" 
     "GL_EXT_polygon_offset_clamp" 
     "GL_ARB_sample_shading" 
     "GL_AMD_texture_texture4" 
     "GL_EXT_blend_minmax" 
     "GL_NV_light_max_exponent" 
     "GL_IBM_texture_mirrored_repeat" 
     "GL_ARB_texture_non_power_of_two" 
     "GL_ARB_base_instance" 
     "GL_OES_EGL_image" 
     "GL_ARB_color_buffer_float" 
     "GL_ARB_point_sprite" 
     "GL_EXT_copy_texture" 
     "GL_ARB_texture_filter_anisotropic" 
     "GL_SGIS_generate_mipmap" 
     "GL_ARB_half_float_vertex" 
     "GL_EXT_draw_buffers2" 
     "GL_EXT_texture_object" 
     "GL_EXT_texture_env_add" 
     "GL_ARB_shading_language_100" 
     "GL_EXT_texture_compression_latc" 
     "GL_ARB_compatibility" 
     "GL_KHR_parallel_shader_compile" 
     "GL_ARB_shader_clock" 
     "GL_AMD_conservative_depth" 
     "GL_MESA_texture_signed_rgba" 
     "GL_ARB_transform_feedback2" 
     "GL_ARB_gpu_shader5" 
     "GL_ARB_vertex_shader" 
     "GL_ARB_texture_env_add" 
     "GL_ARB_transform_feedback3" 
     "GL_ARB_shader_stencil_export" 
     "GL_ARB_sparse_texture2" 
     "GL_ARB_texture_buffer_range" 
     "GL_ATI_fragment_shader" 
     "GL_EXT_texture_mirror_clamp" 
     "GL_EXT_memory_object" 
     "GL_ARB_texture_compression_rgtc" 
     "GL_ARB_draw_buffers_blend" 
     "GL_ARB_transpose_matrix" 
     "GL_EXT_EGL_image_storage" 
     "GL_EXT_stencil_two_side" 
     "GL_ARB_texture_storage" 
     "GL_EXT_framebuffer_multisample" 
     "GL_ARB_debug_output" 
     "GL_ARB_multi_draw_indirect" 
     "GL_EXT_separate_specular_color" 
     "GL_KHR_robustness" 
     "GL_ARB_indirect_parameters" 
     "GL_EXT_EGL_sync" 
     "GL_ARB_get_texture_sub_image" 
     "GL_NV_conditional_render" 
     "GL_EXT_framebuffer_blit" 
     "GL_EXT_blend_equation_separate" 
     "GL_ARB_depth_buffer_float" 
     "GL_ANGLE_texture_compression_dxt3" 
     "GL_ARB_provoking_vertex" 
     "GL_ARB_texture_gather" 
     "GL_SGIS_texture_border_clamp" 
     "GL_EXT_blend_func_separate" 
     "GL_AMD_depth_clamp_separate" 
     "GL_ARB_copy_buffer" 
     "GL_AMD_performance_monitor" 
     "GL_ATI_meminfo" 
     "GL_EXT_texture_edge_clamp" 
     "GL_ARB_texture_compression" 
     "GL_ARB_texture_buffer_object_rgb32" 
     "GL_IBM_rasterpos_clip" 
     "GL_EXT_shader_image_load_store" 
     "GL_ARB_vertex_attrib_binding" 
     "GL_NVX_gpu_memory_info" 
     "GL_ARB_robustness" 
     "GL_NV_primitive_restart" 
     "GL_ARB_fragment_program" 
     "GL_ARB_sparse_buffer" 
     "GL_EXT_demote_to_helper_invocation" 
     "GL_ARB_texture_query_lod" 
     "GL_EXT_shader_samples_identical" 
     "GL_EXT_point_parameters" 
     "GL_ARB_ES3_2_compatibility" 
     "GL_ARB_pipeline_statistics_query" 
     "GL_AMD_pinned_memory" 
     "GL_EXT_fog_coord" 
     "GL_ATI_blend_equation_separate" 
     "GL_ARB_spirv_extensions" 
     "GL_EXT_secondary_color" 
     "GL_ARB_shader_viewport_layer_array" 
     "GL_ARB_framebuffer_no_attachments" 
     "GL_ARB_shading_language_packing" 
     "GL_ARB_multitexture" 
     "GL_ARB_direct_state_access" 
     "GL_EXT_packed_depth_stencil" 
     "GL_ARB_blend_func_extended" 
     "GL_ARB_depth_clamp" 
     "GL_ARB_query_buffer_object" 
     "GL_EXT_blend_subtract" 
     "GL_ARB_texture_barrier" 
     "GL_ARB_ES3_compatibility" 
     "GL_EXT_shader_image_load_formatted" 
     "GL_ARB_copy_image" 
     "GL_KHR_texture_compression_astc_sliced_3d" 
     "GL_ARB_framebuffer_object" 
     "GL_ARB_vertex_program" 
     "GL_ARB_uniform_buffer_object" 
     "GL_ARB_point_parameters" 
     "GL_NV_alpha_to_coverage_dither_control" 
     "GL_EXT_texture_shared_exponent" 
     "GL_EXT_texture_sRGB_R8" 
     "GL_ARB_internalformat_query" 
     "GL_ARB_stencil_texturing" 
     "GL_EXT_timer_query" 
     "GL_NV_packed_depth_stencil" 
     "GL_ARB_get_program_binary" 
     "GL_EXT_vertex_attrib_64bit" 
     "GL_EXT_framebuffer_object" 
     "GL_IBM_multimode_draw_arrays" 
     "GL_EXT_texture_snorm" 
     "GL_ARB_texture_border_clamp" 
     "GL_ARB_invalidate_subdata" 
     "GL_ARB_enhanced_layouts" 
     "GL_NV_shader_atomic_int64" 
     "GL_NV_texture_rectangle" 
     "GL_ARB_fragment_program_shadow" 
     "GL_ARB_vertex_attrib_64bit" 
     "GL_AMD_multi_draw_indirect" 
     "GL_EXT_texture_rectangle" 
     "GL_ARB_vertex_buffer_object" 
     "GL_ARB_texture_multisample" 
     "GL_NV_depth_clamp" 
     "GL_EXT_texture_env_dot3" 
     "GL_ARB_parallel_shader_compile" 
     "GL_AMD_shader_stencil_export" 
     "GL_AMD_shader_trinary_minmax" 
     "GL_APPLE_packed_pixels" 
     "GL_ARB_draw_instanced" 
     "GL_ARB_program_interface_query" 
     "GL_SGIS_texture_lod" 
     "GL_ARB_texture_rg" 
     "GL_EXT_texture_shadow_lod" 
     "GL_ARB_explicit_attrib_location" 
     "GL_ARB_internalformat_query2" 
     "GL_EXT_vertex_array_bgra" 
     "GL_ARB_compressed_texture_pixel_storage" 
     "GL_EXT_texture_lod_bias" 
     "GL_ATI_texture_env_combine3" 
     "GL_ARB_draw_elements_base_vertex" 
     "GL_ARB_texture_buffer_object" 
     "GL_AMD_query_buffer_object" 
     "GL_ARB_shading_language_include" 
     "GL_ARB_gpu_shader_int64" 
     "GL_ARB_sampler_objects" 
     "GL_ARB_draw_indirect" 
     "GL_AMD_vertex_shader_layer" 
     "GL_ARB_shader_draw_parameters" 
     "GL_EXT_stencil_wrap" 
     "GL_ARB_pixel_buffer_object" 
     "GL_ARB_map_buffer_range" 
     "GL_EXT_depth_bounds_test" 
     "GL_EXT_abgr" 
     "GL_ARB_vertex_type_10f_11f_11f_rev" 
     "GL_ARB_vertex_array_object" 
     "GL_ARB_cull_distance" 
     "GL_EXT_texture_swizzle" 
     "GL_EXT_shadow_funcs" 
     "GL_EXT_texture_sRGB" 
     "GL_ARB_tessellation_shader" 
     "GL_ARB_shader_storage_buffer_object" 
     "GL_OES_read_format" 
     "GL_ARB_shading_language_420pack" 
     "GL_ARB_shader_atomic_counters" 
     "GL_EXT_framebuffer_multisample_blit_scaled" 
     "GL_KHR_texture_compression_astc_ldr" 
     "GL_ARB_shader_texture_lod" 
     "GL_EXT_bgra" 
     "GL_ARB_map_buffer_alignment" 
     "GL_ARB_texture_env_crossbar" 
     "GL_SUN_multi_draw_arrays" 
     "GL_ARB_vertex_type_2_10_10_10_rev" 
     "GL_EXT_subtexture" 
     "GL_ARB_texture_storage_multisample" 
     "GL_NV_fog_distance" 
     "GL_ARB_robust_buffer_access_behavior" 
     "GL_ARB_occlusion_query2" 
     "GL_EXT_semaphore" 
     "GL_EXT_texture_array" 
     "GL_ARB_shader_group_vote" 
     "GL_EXT_rescale_normal" 
     "GL_EXT_texture_env_combine" 
     "GL_EXT_provoking_vertex" 
     "GL_ARB_texture_float" 
     "GL_ARB_seamless_cube_map" 
     "GL_ARB_timer_query" 
     "GL_EXT_pixel_buffer_object" 
     "GL_EXT_texture_buffer_object" 
     "GL_MESA_shader_integer_functions" 
     "GL_MESA_framebuffer_flip_y" 
     "GL_ARB_derivative_control" 
     "GL_ARB_texture_cube_map_array" 
     "GL_EXT_compiled_vertex_array" 
     "GL_MESA_pack_invert" 
     "GL_ARB_fragment_coord_conventions" 
     "GL_ARB_shader_image_size" 
     "GL_ARB_sync" 
     "GL_ARB_texture_cube_map" 
     "GL_EXT_packed_pixels" 
     "GL_INGR_blend_func_separate" 
     "GL_EXT_memory_object_fd" 
     "GL_ARB_conditional_render_inverted" 
     "GL_ARB_transform_feedback_instanced" 
     "GL_ARB_ES2_compatibility" 
     "GL_ARB_sparse_texture" 
     "GL_ATI_texture_mirror_once" 
     "GL_ARB_gpu_shader_fp64" 
     "GL_ARB_half_float_pixel" 
     "GL_ARB_shader_subroutine" 
     "GL_ARB_texture_rectangle" 
     "GL_ARB_compute_shader" 
     "GL_EXT_draw_instanced" 
     "GL_AMD_draw_buffers_blend" 
     "GL_KHR_blend_equation_advanced" 
     "GL_NV_vdpau_interop" 
     "GL_ARB_texture_compression_bptc" 
     "GL_EXT_shader_integer_mix" 
     "GL_ARB_polygon_offset_clamp" 
     "GL_ARB_transform_feedback_overflow_query" 
     "GL_EXT_vertex_array" 
     "GL_S3_s3tc" 
     "GL_EXT_texture" 
     "GL_ARB_instanced_arrays" 
     "GL_ARB_shader_precision" 
     "GL_EXT_gpu_shader4" 
     "GL_KHR_context_flush_control" 
     "GL_ARB_texture_mirror_clamp_to_edge" 
     "GL_ATI_draw_buffers" 
     "GL_EXT_transform_feedback" 
     "GL_EXT_texture_sRGB_decode" 
     "GL_ARB_vertex_array_bgra" 
     "GL_ARB_separate_shader_objects" 
     "GL_ARB_conservative_depth" 
     "GL_ARB_shadow" 
     "GL_ARB_occlusion_query" 
     "GL_ATI_texture_compression_3dc" 
     "GL_NV_texture_env_combine4" 
     "GL_ARB_framebuffer_sRGB" 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 

useBufferInvalidation (config option): false


Hardware Information

  GPU Acceleration: auto
  Memory: 15337 Mb
  Number of Cores: 16
  Swap Location: /tmp
  Built for: sse2
  Base instruction set: sse2
  Supported instruction sets: fma3+avx2 avx2 fma3+avx avx fma4 fma3+sse4.2 sse4.2 sse4.1 ssse3 sse3 sse2 

Current Settings

  Current Swap Location: /tmp
  Current Swap Location writable: true
  Undo Enabled: true
  Undo Stack Limit: 200
  Use OpenGL: true
  Use OpenGL Texture Buffer: true
  Disable Vector Optimizations: false
  Disable AVX Optimizations: false
  Canvas State: OPENGL_SUCCESS
  Autosave Interval: 420
  Use Backup Files: true
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Resource Location: /home/maplespace/.local/share/krita
  Use Win8 Pointer Input: false
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Display Information
Number of screens: 1
	Screen: 0
		Name: XWAYLAND0
		Depth: 24
		Scale: 1
		Physical DPI145.401
		Logical DPI96
		Physical Size: 360, 200
		Position: 0, 0
		Resolution in pixels: 2048x1152
		Manufacturer: 
		Model: 
		Refresh Rate: 164.897

> * Which widget style are you using
Where do I find which widget style I am using? 

> * Can you reproduce the issue with the appimage?
Yes, the lag (and the CPU core usage) is still there in the Appimage version as well.
Comment 4 Bug Janitor Service 2023-01-22 05:06:54 UTC
Thanks for your comment!

Automatically switching the status of this bug to REPORTED so that the KDE team
knows that the bug is ready to get confirmed.

In the future you may also do this yourself when providing needed information.
Comment 5 Dmitry Kazakov 2023-04-18 12:41:34 UTC
Git commit 36d3a5cc7c9fc323569d2cdf6e7cfc78f8829b98 by Dmitry Kazakov.
Committed on 18/04/2023 at 12:40.
Pushed by dkazakov into branch 'master'.

Fix huge slowdown when saving long text into the text shape

There were two issues:

1) paintPaths() used to rasterize **all** the character paths, even
   the ones outside the current painter's clip rect. That was obviously
   slow, because the tiled vector rendering code forced it to rasterize
   the whole text 10+ times.

2) paintPaths() passed the bounding outline rect incorrectly to the
   descendants. Instead of passing the outline of the child shape
   it passed the outline of the root shape, which caused
   KoClipMaskPainter to allocate too huge buffer for rendering the
   text.

M  +25   -15   libs/flake/text/KoSvgTextShape.cpp

https://invent.kde.org/graphics/krita/commit/36d3a5cc7c9fc323569d2cdf6e7cfc78f8829b98
Comment 6 Dmitry Kazakov 2023-04-18 13:10:45 UTC
Git commit 088a1f804e9311bb0cccccbef2ea89230834b6d9 by Dmitry Kazakov.
Committed on 18/04/2023 at 13:09.
Pushed by dkazakov into branch 'master'.

Fix gradient painting on textr shapes

We should pass root outline as the baseline for the coordinate systems,
but create KoClipMaskPainter clipped to the real size of the shape.

M  +12   -8    libs/flake/text/KoSvgTextShape.cpp

https://invent.kde.org/graphics/krita/commit/088a1f804e9311bb0cccccbef2ea89230834b6d9