SUMMARY Using "Copy/Cut Selection to New Layer" on the "File Layer" is not valid. In 5.0.6, using "Copy/Cut Select to New Layer" on a "File Layer" is valid. STEPS TO REPRODUCE 1. Add a "File Layer". 2. Select an area of the File Layer. 3. Use "Copy/Cut Select to New Layer". OBSERVED RESULT The result looks like I used copy and paste for the File layer. EXPECTED RESULT As in 5.0.6, using "Copy/Cut Select to New Layer" produces the effect of copying the selection to a new layer. SOFTWARE/OS VERSIONS Krita Version: 5.1.1 Installation type: installer / portable package Hidpi: true Qt Version (compiled): 5.12.12 Version (loaded): 5.12.12 OS Information Build ABI: x86_64-little_endian-llp64 Build CPU: x86_64 CPU: x86_64 Kernel Type: winnt Kernel Version: 10.0.19044 Pretty Productname: Windows 10 (10.0) Product Type: windows Product Version: 10 Locale Languages: en_US, en_US C locale: C QLocale current: en QLocale system: zh QTextCodec for locale: UTF-8 Process ACP: 65001 (UTF-8) System locale default ACP: 936 (ANSI/OEM - 简体中文 GBK) OpenGL Info Vendor: "Google Inc. (NVIDIA)" Renderer: "ANGLE (NVIDIA, NVIDIA GeForce GTX 970 Direct3D11 vs_5_0 ps_5_0, D3D11-31.0.15.1694)" Version: "OpenGL ES 3.0.0 (ANGLE 2.1.0 git hash: f2280c0c5f93+krita_qt5.12.12)" Shading language: "OpenGL ES GLSL ES 3.00 (ANGLE 2.1.0 git hash: f2280c0c5f93+krita_qt5.12.12)" 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 3.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::NoProfile) Version: 3.0 Supports deprecated functions false is OpenGL ES: true supportsBufferMapping: true supportsBufferInvalidation: false forceDisableTextureBuffers: true Extensions: "GL_ANGLE_base_vertex_base_instance_shader_builtin" "GL_OES_compressed_ETC2_sRGB8_texture" "GL_ANGLE_depth_texture" "GL_WEBGL_video_texture" "GL_ANGLE_get_serialized_context_string" "GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture" "GL_ANGLE_request_extension" "GL_NV_pack_subimage" "GL_OES_EGL_image" "GL_CHROMIUM_bind_uniform_location" "GL_OES_EGL_image_external_essl3" "GL_EXT_draw_buffers" "GL_ANGLE_program_cache_control" "GL_EXT_texture_rg" "GL_OES_draw_buffers_indexed" "GL_OES_element_index_uint" "GL_EXT_map_buffer_range" "GL_OES_texture_float_linear" "GL_EXT_texture_compression_bptc" "GL_EXT_read_format_bgra" "GL_ANGLE_framebuffer_blit" "GL_EXT_color_buffer_half_float" "GL_EXT_discard_framebuffer" "GL_EXT_robustness" "GL_OES_compressed_EAC_RG11_signed_texture" "GL_EXT_disjoint_timer_query" "GL_OES_texture_npot" "GL_ANGLE_texture_multisample" "GL_EXT_shader_texture_lod" "GL_ANGLE_client_arrays" "GL_OES_EGL_image_external" "GL_CHROMIUM_sync_query" "GL_ANGLE_memory_size" "GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture" "GL_CHROMIUM_copy_compressed_texture" "GL_KHR_parallel_shader_compile" "GL_NV_EGL_stream_consumer_external" "GL_OES_texture_stencil8" "GL_EXT_instanced_arrays" "GL_OES_texture_float" "GL_EXT_debug_label" "GL_EXT_frag_depth" "GL_NV_framebuffer_blit" "GL_OES_get_program_binary" "GL_EXT_occlusion_query_boolean" "GL_EXT_color_buffer_float" "GL_OES_rgb8_rgba8" "GL_ANGLE_copy_texture_3d" "GL_ANGLE_texture_compression_dxt5" "GL_AMD_performance_monitor" "GL_OVR_multiview" "GL_OES_depth24" "GL_OES_depth32" "GL_CHROMIUM_copy_texture" "GL_EXT_blend_func_extended" "GL_OES_compressed_EAC_R11_unsigned_texture" "GL_CHROMIUM_lose_context" "GL_EXT_blend_minmax" "GL_NV_pixel_buffer_object" "GL_OES_compressed_EAC_R11_signed_texture" "GL_OES_packed_depth_stencil" "GL_EXT_texture_compression_rgtc" "GL_ANGLE_framebuffer_multisample" "GL_EXT_EGL_image_external_wrap_modes" "GL_OES_texture_half_float" "GL_EXT_texture_filter_anisotropic" "GL_EXT_multi_draw_indirect" "GL_EXT_texture_format_BGRA8888" "GL_OES_compressed_ETC2_sRGB8_alpha8_texture" "GL_ANGLE_provoking_vertex" "GL_ANGLE_robust_client_memory" "GL_EXT_texture_norm16" "GL_ANGLE_multi_draw" "GL_EXT_float_blend" "GL_OES_standard_derivatives" "GL_OES_fbo_render_mipmap" "GL_ANGLE_lossy_etc_decode" "GL_OES_draw_elements_base_vertex" "GL_OES_texture_half_float_linear" "GL_ANGLE_pack_reverse_row_order" "GL_EXT_clip_control" "GL_ANGLE_translated_shader_source" "GL_EXT_draw_elements_base_vertex" "GL_EXT_debug_marker" "GL_ANGLE_base_vertex_base_instance" "GL_EXT_draw_buffers_indexed" "GL_EXT_sRGB" "GL_CHROMIUM_bind_generates_resource" "GL_ANGLE_get_tex_level_parameter" "GL_ANGLE_texture_usage" "GL_EXT_texture_compression_s3tc_srgb" "GL_ANGLE_texture_compression_dxt3" "" "GL_EXT_texture_compression_dxt1" "GL_EXT_texture_storage" "GL_KHR_debug" "GL_OVR_multiview2" "GL_OES_compressed_ETC2_RGBA8_texture" "GL_ANGLE_multiview_multisample" "GL_NV_fence" "GL_OES_compressed_ETC2_RGB8_texture" "GL_EXT_texture_type_2_10_10_10_REV" "GL_EXT_multisampled_render_to_texture" "GL_EXT_unpack_subimage" "GL_OES_surfaceless_context" "GL_OES_texture_border_clamp" "GL_OES_vertex_array_object" "GL_ANGLE_instanced_arrays" "GL_OES_compressed_EAC_RG11_unsigned_texture" "GL_OES_mapbuffer" QPA OpenGL Detection Info supportsDesktopGL: true supportsAngleD3D11: true isQtPreferAngle: true useBufferInvalidation (config option): false Hardware Information GPU Acceleration: auto Memory: 32693 Mb Number of Cores: 16 Swap Location: C:/Users/xi/AppData/Local/Temp 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: C:/Users/xi/AppData/Local/Temp 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_NOT_TRIED 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 Use Win8 Pointer Input: false Use RightMiddleTabletButton Workaround: false Levels of Detail Enabled: false Use Zip64: false Display Information Number of screens: 2 Screen: 0 Name: \\.\DISPLAY1 Depth: 32 Scale: 1 Physical DPI117.596 Logical DPI96 Physical Size: 553, 311 Position: 0, 0 Resolution in pixels: 2560x1440 Manufacturer: Model: Refresh Rate: 59 Screen: 1 Name: \\.\DISPLAY2 Depth: 32 Scale: 1 Physical DPI141.951 Logical DPI96 Physical Size: 344, 193 Position: 638, 1440 Resolution in pixels: 1920x1080 Manufacturer: Model: Refresh Rate: 60 --------------------- ================================================================================ SESSION: 30 Sep 2022 17:15:04 +0800. Executing C:\Program Files\Krita (x64)\bin\krita.exe Krita Version: 5.1.1, Qt version compiled: 5.12.12, loaded: 5.12.12. Process ID: 8892 -- -- -- -- -- -- -- -- 30 Sep 2022 17:15:04 +0800: Style: fusion. Available styles: windowsvista, Windows, Fusion 30 Sep 2022 17:15:05 +0800: Creating database from scratch (database didn't exist, new schema version: 0.0.17). 30 Sep 2022 17:15:14 +0800: Non-store package - creating updater 30 Sep 2022 17:15:27 +0800: Created image "Unnamed", 2480 * 3508 pixels, 300 dpi. Color model: 8-bit integer/channel RGB/Alpha (sRGB-elle-V2-srgbtrc.icc). Layers: 2 30 Sep 2022 17:15:41 +0800: Importing image/png to application/x-krita. Location: C:/Users/xi/AppData/Local/Temp/krita_file_layer_copy_8892_29503.png. Real location: C:/Users/xi/AppData/Local/Temp/krita_file_layer_copy_8892_29503.png. Batchmode: 1 30 Sep 2022 17:15:41 +0800: Loaded image from image/png. Size: 1024 * 512 pixels, 1 dpi. Color model: 8-bit integer/channel RGB/Alpha (sRGB-elle-V2-srgbtrc.icc). Layers: 2 ---------------------
Hi, thank you for your report. I can confirm with the Krita Version: 5.2.0-prealpha (git 5c98a72) Appimage with Qt 5.15.7 I guess we should initialize the layer as empty and then only have the filled selection painted.
Git commit 09ff812f8316eea0a6bf55d49ec093c6a3ea41d2 by Freya Lupen. Committed on 12/06/2024 at 19:17. Pushed by freyalupen into branch 'master'. Fix copy-pasting selection of File Layer If there's a selection, it should paste a new paint layer containing the selection, instead of duplicating the entire File Layer. M +1 -1 libs/ui/actions/kis_selection_action_factories.cpp https://invent.kde.org/graphics/krita/-/commit/09ff812f8316eea0a6bf55d49ec093c6a3ea41d2
Git commit eb29ed416fa3dc6f49b5d65996570e39e5abba70 by Freya Lupen. Committed on 12/06/2024 at 19:19. Pushed by freyalupen into branch 'krita/5.2'. Fix copy-pasting selection of File Layer If there's a selection, it should paste a new paint layer containing the selection, instead of duplicating the entire File Layer. (cherry picked from commit 09ff812f8316eea0a6bf55d49ec093c6a3ea41d2) Co-authored-by: Freya Lupen <penguinflyer2222@gmail.com> M +1 -1 libs/ui/actions/kis_selection_action_factories.cpp https://invent.kde.org/graphics/krita/-/commit/eb29ed416fa3dc6f49b5d65996570e39e5abba70