Bug 490375

Summary: No layer is selected on opening a document in Krita
Product: [Applications] krita Reporter: Robby Engelmann <robby.engelmann>
Component: * UnknownAssignee: Halla Rempt <halla>
Status: RESOLVED FIXED    
Severity: normal CC: akkoziol, dimula73, halla, kritabugs, paul, penguinflyer2222, robby.engelmann, thrabchak, tiago.freire, tnemeth, torben.spieker
Priority: NOR Keywords: regression
Version: 5.2.2   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: grey menu points

Description Robby Engelmann 2024-07-16 21:00:31 UTC
Crop to selection and all other image manipulations do not work, if krita is started with right-click on an image file or starting krita from console like >krita image.jpg
However, it works if I start Krita and open the file via Krita's open file dialog

Also see screenshot.

Also valid if using git snapshots from the unstable-extra repo of openSUSE.

Krita

 Version: 5.2.3
 Hidpi: true

Qt

  Version (compiled): 5.15.14
  Version (loaded): 5.15.14

OS Information

  Build ABI: x86_64-little_endian-lp64
  Build CPU: x86_64
  CPU: x86_64
  Kernel Type: linux
  Kernel Version: 6.9.9-1-default
  Pretty Productname: openSUSE Tumbleweed
  Product Type: opensuse-tumbleweed
  Product Version: 20240715
  Desktop: KDE
  Appimage build: No

Locale

  Languages: en_US, en, en_Latn_US
  C locale: LC_CTYPE=en_US.UTF-8;LC_NUMERIC=en_US.UTF-8;LC_TIME=de_DE.UTF-8;LC_COLLATE=de_DE.UTF-8;LC_MONETARY=de_DE.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=en_US.UTF-8;LC_NAME=de_DE.UTF-8;LC_ADDRESS=de_DE.UTF-8;LC_TELEPHONE=de_DE.UTF-8;LC_MEASUREMENT=de_DE.UTF-8;LC_IDENTIFICATION=en_US.UTF-8
  QLocale current: en
  QLocale system: en
  QTextCodec for locale: UTF-8

OpenGL Info
 
  Vendor:  "Intel" 
  Renderer:  "Mesa Intel(R) Graphics (RPL-P)" 
  Driver version:  "4.6 (Core Profile) Mesa 24.1.3" 
  Shading language:  "4.60" 
  Requested format:  QSurfaceFormat(version 3.3, options QFlags<QSurfaceFormat::FormatOption>(), 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>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::CoreProfile) 
  GL version: 4.6 
  Supports deprecated functions false 
  Is OpenGL ES: false 
  supportsBufferMapping: true 
  supportsBufferInvalidation: true 
  forceDisableTextureBuffers: false 
  Extensions: 
     GL_ARB_map_buffer_range 
     GL_ARB_shader_storage_buffer_object 
     GL_ARB_seamless_cube_map 
     GL_NV_copy_image 
     GL_ARB_texture_filter_anisotropic 
     GL_AMD_depth_clamp_separate 
     GL_ARB_seamless_cubemap_per_texture 
     GL_ARB_texture_cube_map_array 
     GL_ARB_base_instance 
     GL_ARB_pipeline_statistics_query 
     GL_AMD_vertex_shader_viewport_index 
     GL_ARB_gpu_shader_fp64 
     GL_ARB_fragment_shader 
     GL_ARB_transform_feedback_instanced 
     GL_ARB_shader_group_vote 
     GL_ARB_compute_shader 
     GL_ARB_ES2_compatibility 
     GL_INTEL_conservative_rasterization 
     GL_ARB_enhanced_layouts 
     GL_ARB_shader_objects 
     GL_ARB_shader_draw_parameters 
     GL_ARB_explicit_uniform_location 
     GL_ARB_texture_buffer_object_rgb32 
     GL_ARB_shading_language_packing 
     GL_EXT_texture_compression_s3tc 
     GL_ARB_texture_compression_bptc 
     GL_KHR_blend_equation_advanced 
     GL_ARB_occlusion_query2 
     GL_ARB_framebuffer_object 
     GL_ARB_shader_texture_image_samples 
     GL_ARB_sample_shading 
     GL_EXT_texture_shared_exponent 
     GL_ARB_shader_precision 
     GL_ARB_get_texture_sub_image 
     GL_ARB_texture_non_power_of_two 
     GL_ARB_texture_compression_rgtc 
     GL_ARB_ES3_1_compatibility 
     GL_ARB_texture_query_lod 
     GL_EXT_packed_depth_stencil 
     GL_ARB_direct_state_access 
     GL_ARB_shader_clock 
     GL_EXT_texture_compression_rgtc 
     GL_ARB_internalformat_query2 
     GL_ARB_texture_query_levels 
     GL_EXT_shader_samples_identical 
     GL_EXT_texture_integer 
     GL_AMD_shader_stencil_export 
     GL_ARB_shader_subroutine 
     GL_ARB_query_buffer_object 
     GL_EXT_texture_sRGB_R8 
     GL_ARB_polygon_offset_clamp 
     GL_ARB_stencil_texturing 
     GL_ARB_texture_mirror_clamp_to_edge 
     GL_AMD_gpu_shader_int64 
     GL_ARB_copy_image 
     GL_NV_alpha_to_coverage_dither_control 
     GL_EXT_polygon_offset_clamp 
     GL_EXT_transform_feedback 
     GL_AMD_query_buffer_object 
     GL_ARB_shader_image_size 
     GL_EXT_framebuffer_object 
     GL_ARB_fragment_coord_conventions 
     GL_ARB_uniform_buffer_object 
     GL_EXT_blend_equation_separate 
     GL_INTEL_blackhole_render 
     GL_ARB_framebuffer_sRGB 
     GL_KHR_context_flush_control 
     GL_ARB_tessellation_shader 
     GL_ARB_vertex_attrib_binding 
     GL_NV_texture_barrier 
     GL_ARB_texture_storage_multisample 
     GL_ARB_indirect_parameters 
     GL_EXT_texture_filter_anisotropic 
     GL_INTEL_shader_integer_functions2 
     GL_EXT_shader_integer_mix 
     GL_AMD_performance_monitor 
     GL_KHR_parallel_shader_compile 
     GL_ARB_conservative_depth 
     GL_EXT_shader_framebuffer_fetch 
     GL_KHR_robust_buffer_access_behavior 
     GL_ARB_depth_clamp 
     GL_S3_s3tc 
     GL_ARB_gpu_shader_int64 
     GL_ARB_draw_buffers_blend 
     GL_ARB_derivative_control 
     GL_ARB_texture_rg 
     GL_ARB_vertex_type_2_10_10_10_rev 
     GL_ARB_viewport_array 
     GL_EXT_memory_object_fd 
     GL_ARB_ES3_2_compatibility 
     GL_ARB_debug_output 
     GL_MESA_shader_integer_functions 
     GL_ARB_texture_border_clamp 
     GL_ARB_texture_gather 
     GL_NV_fragment_shader_interlock 
     GL_AMD_vertex_shader_layer 
     GL_EXT_vertex_array_bgra 
     GL_ARB_clear_texture 
     GL_ARB_texture_buffer_range 
     GL_ARB_fragment_layer_viewport 
     GL_ARB_transform_feedback2 
     GL_EXT_framebuffer_multisample 
     GL_ARB_texture_barrier 
     GL_ARB_multi_draw_indirect 
     GL_ARB_buffer_storage 
     GL_EXT_vertex_attrib_64bit 
     GL_MESA_texture_signed_rgba 
     GL_ARB_pixel_buffer_object 
     GL_EXT_shader_framebuffer_fetch_non_coherent 
     GL_EXT_semaphore_fd 
     GL_KHR_texture_compression_astc_ldr 
     GL_ARB_multi_bind 
     GL_EXT_provoking_vertex 
     GL_MESA_framebuffer_flip_y 
     GL_ARB_shader_texture_lod 
     GL_ARB_depth_buffer_float 
     GL_EXT_EGL_image_storage 
     GL_ARB_shading_language_420pack 
     GL_ARB_clear_buffer_object 
     GL_ARB_shader_bit_encoding 
     GL_ARB_shading_language_include 
     GL_ARB_draw_indirect 
     GL_ARB_post_depth_coverage 
     GL_ARB_separate_shader_objects 
     GL_ARB_clip_control 
     GL_EXT_texture_shadow_lod 
     GL_AMD_seamless_cubemap_per_texture 
     GL_ARB_texture_buffer_object 
     GL_INTEL_shader_atomic_float_minmax 
     GL_EXT_framebuffer_blit 
     GL_MESA_texture_const_bandwidth 
     GL_ARB_program_interface_query 
     GL_AMD_multi_draw_indirect 
     GL_ARB_map_buffer_alignment 
     GL_ARB_gpu_shader5 
     GL_AMD_conservative_depth 
     GL_ARB_ES3_compatibility 
     GL_ARB_vertex_buffer_object 
     GL_ARB_compressed_texture_pixel_storage 
     GL_EXT_pixel_buffer_object 
     GL_ARB_vertex_shader 
     GL_NV_depth_clamp 
     GL_ARB_robust_buffer_access_behavior 
     GL_ARB_transform_feedback_overflow_query 
     GL_ARB_copy_buffer 
     GL_AMD_draw_buffers_blend 
     GL_EXT_framebuffer_sRGB 
     GL_ARB_shader_atomic_counter_ops 
     GL_ARB_texture_swizzle 
     GL_EXT_timer_query 
     GL_ARB_draw_instanced 
     GL_ARB_timer_query 
     GL_EXT_debug_label 
     GL_EXT_texture_swizzle 
     GL_ARB_draw_buffers 
     GL_ARB_vertex_array_bgra 
     GL_KHR_debug 
     GL_ARB_explicit_attrib_location 
     GL_ARB_shader_atomic_counters 
     GL_AMD_texture_texture4 
     GL_EXT_texture_snorm 
     GL_ARB_texture_view 
     GL_ARB_vertex_type_10f_11f_11f_rev 
     GL_ARB_blend_func_extended 
     GL_ARB_point_sprite 
     GL_ARB_provoking_vertex 
     GL_ARB_half_float_pixel 
     GL_EXT_framebuffer_multisample_blit_scaled 
     GL_ARB_get_program_binary 
     GL_EXT_texture_sRGB_decode 
     GL_NV_packed_depth_stencil 
     GL_AMD_shader_trinary_minmax 
     GL_ARB_shader_image_load_store 
     GL_ARB_robustness 
     GL_ARB_conditional_render_inverted 
     GL_ARB_vertex_array_object 
     GL_INTEL_performance_query 
     GL_ARB_sampler_objects 
     GL_ARB_transform_feedback3 
     GL_3DFX_texture_compression_FXT1 
     GL_AMD_pinned_memory 
     GL_EXT_draw_instanced 
     GL_ARB_shader_viewport_layer_array 
     GL_ARB_texture_rectangle 
     GL_ATI_blend_equation_separate 
     GL_ARB_texture_rgb10_a2ui 
     GL_ATI_texture_float 
     GL_KHR_robustness 
     GL_ARB_shader_ballot 
     GL_ARB_gl_spirv 
     GL_EXT_memory_object 
     GL_ARB_invalidate_subdata 
     GL_ARB_draw_elements_base_vertex 
     GL_MESA_pack_invert 
     GL_ARB_parallel_shader_compile 
     GL_ARB_half_float_vertex 
     GL_IBM_multimode_draw_arrays 
     GL_ARB_compute_variable_group_size 
     GL_EXT_demote_to_helper_invocation 
     GL_ANGLE_texture_compression_dxt5 
     GL_ARB_texture_storage 
     GL_EXT_packed_float 
     GL_ARB_arrays_of_arrays 
     GL_ARB_internalformat_query 
     GL_EXT_depth_bounds_test 
     GL_ARB_cull_distance 
     GL_EXT_texture_storage 
     GL_ARB_fragment_shader_interlock 
     GL_ARB_texture_multisample 
     GL_EXT_semaphore 
     GL_EXT_texture_array 
     GL_ARB_texture_float 
     GL_ARB_sync 
     GL_NV_compute_shader_derivatives 
     GL_ARB_shader_stencil_export 
     GL_KHR_blend_equation_advanced_coherent 
     GL_KHR_texture_compression_astc_sliced_3d 
     GL_EXT_EGL_sync 
     GL_OES_EGL_image 
     GL_ANGLE_texture_compression_dxt3 
     GL_KHR_no_error 
     GL_ARB_spirv_extensions 
     GL_ARB_vertex_attrib_64bit 
     GL_ARB_framebuffer_no_attachments 
     GL_EXT_abgr 
     GL_EXT_texture_compression_dxt1 
     GL_EXT_texture_sRGB 
     GL_ARB_instanced_arrays 
     GL_NV_conditional_render 
     GL_ARB_texture_stencil8 
     GL_EXT_draw_buffers2 

QPA OpenGL Detection Info 
  supportsDesktopGL: true 
  supportsOpenGLES: true 
  isQtPreferOpenGLES: false 
  Detected renderers: 
    (Supported) Mesa Intel(R) Graphics (RPL-P) (OpenGL ES 3.2 Mesa 24.1.3) 
    (Supported) Mesa Intel(R) Graphics (RPL-P) (4.6 (Core Profile) Mesa 24.1.3)  

useBufferInvalidation (config option): false


Hardware Information

  GPU Acceleration: auto
  Memory: 64040 Mb
  Number of Cores: 20
  Swap Location: /tmp
  Built for: sse2
  Base instruction set: fma3+avx2
  Supported instruction sets: 

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: false
  Number of Backups Kept: 1
  Backup File Suffix: ~
  Backup Location: Same Folder as the File
  Backup Location writable: false
  Resource Location: /home/robby/.local/share/krita
  Use Win8 Pointer Input: false
  Use RightMiddleTabletButton Workaround: false
  Levels of Detail Enabled: false
  Use Zip64: false


Loaded Python Plugins
	colorspace
	comics_project_management_tools
	documenttools
	exportlayers
	filtermanager
	lastdocumentsdocker
	plugin_importer
	quick_settings_docker
	scripter
	tenbrushes
	tenscripts


Display Information
Number of screens: 1
	Screen: 0
		Name: eDP-1
		Depth: 24
		Scale: 1
		Physical DPI242.708
		Logical DPI144
		Physical Size: 302, 188
		Position: 0, 0
		Resolution in pixels: 2880x1800
		Manufacturer: 
		Model: 
		Refresh Rate: 89.9776
		Serial Number:
Comment 1 Robby Engelmann 2024-07-16 21:01:14 UTC
Created attachment 171715 [details]
grey menu points
Comment 2 Freya Lupen 2024-07-17 16:27:12 UTC
Confirmed on 5.2.3 and 5.3.0-prealpha-git-18006fe9. The cause is that no layer is initially selected. (This happens regardless of whether the file has one layer or multiple layers.)
Possibly related: bug 489437.
Comment 3 Halla Rempt 2024-07-19 12:58:12 UTC
*** Bug 489437 has been marked as a duplicate of this bug. ***
Comment 4 Halla Rempt 2024-07-19 12:58:43 UTC
Yes, guess that's the same thing. I wonder when this change happened.
Comment 5 Halla Rempt 2024-07-19 13:08:23 UTC
Let's see if I can find out what's up this afternoon.
Comment 6 Halla Rempt 2024-07-19 14:46:33 UTC
* this bug also occurs when opening a new view on a document
* the node is correctly selected in KisDummiesFacadeBase::setImage if the node is 0 (for all non-kra files)
* KisSynchronizedConnection is a bit of a mystery class, so I cannot figure out under which conditions it refuses to activate the node
Comment 7 Dmitry Kazakov 2024-07-21 11:44:09 UTC
Git commit 238e0e55b59b257e44a505510851a02789b88acd by Dmitry Kazakov.
Committed on 21/07/2024 at 11:43.
Pushed by dkazakov into branch 'master'.

Fix no layer being activated on opening a document

It could happen that KisDummiesFacadeBase::sigActivateNode() would be
emitted **before** the facade would actually be connected to the node
manager, which would leave Krita with no layer selected at all.

M  +14   -0    libs/ui/flake/kis_dummies_facade_base.cpp
M  +9    -0    libs/ui/flake/kis_dummies_facade_base.h
M  +7    -0    libs/ui/kis_node_manager.cpp

https://invent.kde.org/graphics/krita/-/commit/238e0e55b59b257e44a505510851a02789b88acd
Comment 8 Dmitry Kazakov 2024-07-21 11:45:43 UTC
Git commit badd490957213fa3989468339a78eaadb1f8bb87 by Dmitry Kazakov.
Committed on 21/07/2024 at 11:45.
Pushed by dkazakov into branch 'krita/5.2'.

Fix no layer being activated on opening a document

It could happen that KisDummiesFacadeBase::sigActivateNode() would be
emitted **before** the facade would actually be connected to the node
manager, which would leave Krita with no layer selected at all.

M  +14   -0    libs/ui/flake/kis_dummies_facade_base.cpp
M  +9    -0    libs/ui/flake/kis_dummies_facade_base.h
M  +7    -0    libs/ui/kis_node_manager.cpp

https://invent.kde.org/graphics/krita/-/commit/badd490957213fa3989468339a78eaadb1f8bb87
Comment 9 Paul Stenning 2024-07-22 12:46:55 UTC
Thank you Dmitry for investigating and fixing this bug.  Will this fix be released as part of 5.2.4 or as an update to 5.2.3?  Sorry, I'm a new user and don't know how the releases and bug fixes work.
Comment 10 Dmitry Kazakov 2024-07-23 06:48:19 UTC
*** Bug 490652 has been marked as a duplicate of this bug. ***
Comment 11 Freya Lupen 2024-07-29 15:37:31 UTC
*** Bug 490983 has been marked as a duplicate of this bug. ***
Comment 12 Tom Hrabchak 2024-07-31 11:32:56 UTC
Could https://bugs.kde.org/show_bug.cgi?id=489404 also be related to this issue?
Comment 13 Freya Lupen 2024-08-12 14:21:42 UTC
*** Bug 491536 has been marked as a duplicate of this bug. ***
Comment 14 Freya Lupen 2024-08-12 14:30:01 UTC
*** Bug 489404 has been marked as a duplicate of this bug. ***
Comment 15 Freya Lupen 2024-08-12 14:31:56 UTC
Yes, bug 489404 appears to be the same, so I've marked it as duplicate. Good catch.

To answer the question of when this fix will be released, that will be in the next version, 5.2.5 (5.2.4 is skipped because that number was used for a Windows store version release). But it is also available now in the "Krita Plus" stable nightly builds, which are found on the downloads page.
Comment 16 Freya Lupen 2024-08-22 20:05:37 UTC
*** Bug 489390 has been marked as a duplicate of this bug. ***