GTK4 issues found by SWT test suite
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 28/100
Hướng nghiên cứu
Start with Display._getDeviceZoom and the GTK4 branch of getPrimaryMonitor for the zoom case; the other items require locating the SWT event code for each affected widget. Reproduce under GTK4 using the internal SWT test harness and compare event ordering and values with GTK3, Win32, or Cocoa. Because this is an umbrella list spanning input, focus, widgets, tables and trees, and display scaling, a newcomer should first select one reproducible item rather than attempt all reported defects.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
A while ago @akurtakov asked me to test GTK4, which I finally found the time for.
Here are the GTK4 bugs our internal SWT test harness found.
Each one is a difference from SWT on GTK3, which behaves like Win32 and Cocoa here.
Tested on master (3376e1982a), GTK 4.22.4 against GTK 3.24.52, X11 backend (GDK_BACKEND=x11).
If a description is not sufficient, let me know.
Input and events
-
Display.postsynthesizes nothing and returns false for every event type, so SWT tests cannot post mouse or key input on GTK4. - Clicks on
Button,List,TableandTreesend noMouseDown/MouseUp;Listsends aMouseUpwithout theMouseDownbefore it. Listeners that react to mouse down/up (drag start, context actions) never run. -
TextandCombosendModifywithout a precedingVerifywhen typing, soVerifyListeners that filter or reject input (numeric fields, length limits) have no effect. - A double click sends
MouseDoubleClickbefore the secondMouseDown; GTK3, Win32 and Cocoa sendMouseDown(withcount2) first and thenMouseDoubleClick, so code that handles the press inMouseDownsees the double click first. - Shifted letters and symbols report the shifted character as
keyCode(72'H'for Shift+h, 33'!'for Shift+1), while GTK3, Win32 and Cocoa report the unshifted key (104'h', 49'1'). Key bindings that checkkeyCodetogether withSWT.SHIFTstop matching. -
FocusInis also sent to the ancestor composites of the control that receives focus, so focus-tracking code (for example part activation) sees extra focus events. Seen forText,List,Table,TreeandSpinner, by click, Tab traversal andforceFocus(). - Check
Buttontoggled with Space:Selectionarrives betweenKeyDownandKeyUp, instead of after the key is released as on GTK3. -
Spinnersends noVerifywhen its value changes through the arrow buttons, the Up/Down keys or the mouse wheel; GTK3 sends one before theModify. -
SpinnersendsModifybeforeSelection(arrow buttons and Up/Down keys), the reverse of GTK3. -
Slider: a thumb drag ends without the finalSelectionwithdetail = SWT.NONE, the mouse wheel fires noMouseWheelevent and moves by a different step than on GTK3, and the slider takes keyboard focus, which it does not on GTK3.
Table and Tree
- Dragging a column header fires no
TableColumn/TreeColumnResizeorMove, and dragging a movable column does not reorder the columns, so user column resizing and reordering are invisible to the application. - With a visible header, item geometry and hit testing use two different origins:
TableItem.getBounds(int)includes the header height (item 0 at y = 28) whileTableItem.getBounds(),getTextBoundsand allTreeItembounds start below it (y = 0), andgetClientArea()(y = 28),getItem(Point)andtoDisplaycount from the widget top, sogetItemat a point insideitem.getBounds()returns null or the previous row. GTK3 uses one origin for all of them.getItemHeight()also reports 25 while the rows are 23 px apart. -
Control.setOrientation(SWT.RIGHT_TO_LEFT)on aTableorTreethat has columns throwsUnsatisfiedLinkError, because it callsGTK3.gtk_container_forall, which does not exist in GTK4.
Graphics
-
GC.drawFocuspaints nothing (0 pixels fordrawFocus(10, 10, 40, 12)on anImage; GTK3 paints a ring), because it renders with the style context of the shell, which has no focus outline on GTK4.
Display
- The device zoom ignores
GDK_SCALEand stays at 100 withGDK_SCALE=2, so the UI renders at 100% (Display._getDeviceZoom; the GTK4 branch ofgetPrimaryMonitoralways takes monitor 0).
- Ngôn ngữ chính
- Java
- Star
- 202
- Fork
- 206
- Merge trung bình
- 1 ngày 14 giờ
- Pull request đã merge (30 ngày)
- 117
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của eclipse-platform/eclipse.platform.swt
-
[Win32] Table tooltip indexes cell font with subitem -1Có thể đã có người làm @fdesbiens đã nhận 8 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
eclipse-platform/eclipse.platform.swt#3752 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
eclipse-platform/eclipse.platform.swt#3546 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
eclipse-platform/eclipse.platform.swt#3428 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 75/100
eclipse-platform/eclipse.platform.swt#3336 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
java.util.NoSuchElementException driven by org.eclipse.swt.graphics.Region$ZoomToRegionMap.get on WindowsCó thể đã có người làm @HeikoKlare đã nhận hôm nay. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
eclipse-platform/eclipse.platform.swt#3763 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của eclipse-platform/eclipse.platform.swt
Issue tương tự
-
priority: p2 type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
googleapis/java-genai#1372 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
GeoSeries scale and skew tests fail with pytest 9.2.0Có thể đã có người làm @jiayuasu đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Preventions: a dose saved without a unit reopens blank, and an unchanged save then erases itĐang mởpriority: medium Review effort [1-5]: 3 status: needs-triage type: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
carlos-emr/carlos#5431 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Integration tests: jetty:run fails with WELD-001408 for CountryJpaServiceCó thể đã có người làm @viniciusmachak đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
primefaces/primefaces#15431 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
test(multi-tenancy): assert cross-tenant vulnerability reads are refused in the CWE isolation testĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
OpenAEV-Platform/openaev#8792 ·
Maintainer thường phản hồi trong vòng 2 ngày