Menu

#1378 Linux GTK: sidebar-toggle controls disappear and NAPS2 closes when a profile exists

7.X
open
nobody
None
Linux
8.3.2
Bug Fix
Medium
ESCL
1 day ago
1 day ago
No

Summary

With the scanning sidebar hidden, NAPS2 8.3.2 behaves differently depending on whether a scan profile exists. With no profile, the bottom-left control group is rendered normally: the blue sidebar-toggle button, Zoom Out, and Zoom In. After creating one eSCL profile and restarting NAPS2, the sidebar-toggle group disappears from the bottom-left. Only the Zoom In button is rendered at the upper-left, and the UI has an incorrectly reserved blank left area.

The same reproduction produces GTK size-request warnings followed by an unhandled exception in GtkEtoPlatform.SetFrame / LayoutLeftPanel; the log says that the application closes.

Environment

  • NAPS2: 8.3.2 (Debian package)
  • OS: Linux Mint 22.3
  • Desktop/session: Cinnamon on X11
  • GTK: 3.24.41
  • Profile used to reproduce: one local-network eSCL profile; no scan needs to be performed
  • Debug logging: enabled (EnableDebugLogging=true)

Steps to reproduce

  1. Start NAPS2 with no scan profiles.
  2. Hide the scanning sidebar so that SidebarVisible=false is saved.
  3. Verify that the bottom-left control group contains the blue sidebar-toggle icon plus Zoom Out and Zoom In.
  4. Create one eSCL scan profile and save it. The particular scanner settings do not appear relevant; no scan is required.
  5. Restart NAPS2.

Expected behavior

The three bottom-left controls remain visible and the blue sidebar-toggle button can restore the hidden sidebar. NAPS2 remains running.

Actual behavior

  • The bottom-left control group disappears after a profile exists.
  • The Zoom In icon is rendered alone at the upper-left instead.
  • A blank left-side region is incorrectly reserved in the layout.
  • GTK logs gtk_widget_set_size_request: assertion 'width >= -1' failed.
  • NAPS2 then throws InvalidOperationException from NAPS2.EtoForms.Gtk.GtkEtoPlatform.SetFrame, through LayoutOverlay and LayoutLeftPanel, and reports that the application closes.

Deleting the profile and restarting restores the normal bottom-left controls without changing the saved values SidebarVisible=false and SidebarWidth=326. This isolates the trigger to the presence of a profile rather than the saved sidebar setting itself.

Attachments

  • naps2-sidebar-with-profile.png — broken layout with one profile.
  • naps2-sidebar-without-profile.png — control group correctly rendered after deleting the profile and restarting.
  • naps2-errorlog-redacted.txt — complete current crash stack trace.
  • naps2-debuglog-layout-excerpt.txt — GTK warnings and the first layout failure from the debug log.

The attached text logs contain no local address, hostname, device UUID, or scanner capability data.

4 Attachments

Discussion


Log in to post a comment.