Tree/Table on Win32 receive SWT.MouseHorizontalWheel but scroll vertically instead of horizontally
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 55/100
Línea de trabajo
Start by reading Scrollable.WM_MOUSEHWHEEL() and the wmScrollWheel(..., true) path mentioned in the report, then compare how Tree and StyledText handle horizontal wheel events. Reproduce with a Tree or Table using SWT.H_SCROLL on Win32 and check whether horizontal input scrolls horizontally rather than vertically. The report does not name a test file.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Environment:
- Windows 10
- Eclipse Platform 4.40
- SWT Win32
- Logitech MX Master 3S (thumb wheel)
Observed behavior:
When using the horizontal mouse wheel over SWT Tree and Table controls, SWT correctly generates SWT.MouseHorizontalWheel events.
However, the controls do not scroll horizontally. Instead, the content scrolls vertically, behaving as if a normal mouse wheel event had been received.
The same horizontal wheel works as expected in StyledText controls.
Reproduction:
- Create a Tree or Table with SWT.H_SCROLL.
- Ensure horizontal scrolling is possible.
- Move the horizontal wheel (thumb wheel on MX Master 3S).
Expected result:
The Tree/Table content scrolls horizontally.
Actual result:
The content scrolls vertically.
Additional observations:
The following SWT event is received:
SWT.MouseHorizontalWheel
For example:
HORIZONTAL
count: -3
class: class org.eclipse.swt.widgets.Tree
The control has a valid horizontal scrollbar:
org.eclipse.swt.widgets.Tree hBar=ScrollBar {}
The same behavior occurs with:
- Tree
- Table
- TreeViewer
- TableViewer
- CommonNavigator
StyledText behaves correctly and scrolls horizontally.
Source investigation:
While debugging SWT Win32 sources I found that
Scrollable.WM_MOUSEHWHEEL() delegates to:
wmScrollWheel(..., true)
For Tree controls, the 'update' parameter is false because
(state & CANVAS) == 0.
Consequently execution follows the non-update code path:
long code = callWindowProc(
handle,
OS.WM_MOUSEWHEEL,
wParam,
lParam);
which appears to invoke WM_MOUSEWHEEL even for WM_MOUSEHWHEEL processing.
I am not yet sure whether this is the root cause, but it seemed noteworthy enough to mention.
- Lenguaje dominante
- Java
- Estrellas
- 202
- Forks
- 206
- Merge medio
- 23 h 40 min
- PR fusionados (30 d)
- 103
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de eclipse-platform/eclipse.platform.swt
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
eclipse-platform/eclipse.platform.swt#3761 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Win32] Table tooltip indexes cell font with subitem -1Posiblemente ocupada @fdesbiens la tomó hace 6 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
eclipse-platform/eclipse.platform.swt#3752 ·
Los mantenedores suelen responder en 1 día
-
`SWT_AWT.initFrame` takes `(long, String)` in Java; the GTK native declares no `className` and the Cocoa native types it `const char *`Posiblemente ocupada @GreenFuze la tomó hace 14 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
eclipse-platform/eclipse.platform.swt#3665 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-platform/eclipse.platform.swt#3546 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
eclipse-platform/eclipse.platform.swt#3428 ·
Los mantenedores suelen responder en 1 día
Todos los issues de eclipse-platform/eclipse.platform.swt
Issues similares
-
protobuf
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
FasterXML/jackson-dataformats-binary#874 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
-
[Bug][Connector-V2][JDBC] Turkish locale bypasses the SQL set-operator and complex-clause guards, rewriting the user's queryPosiblemente ocupada @SEPURI-SAI-KRISHNA la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 3 días
-
[Bug report] Lance REST catalog-level DropNamespace drops non-lakehouse catalogsPosiblemente ocupada @nevzheng la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
[BUG] jackson3 JacksonJsonpMapper(ObjectMapper) fails to deserialize `_source` with "Trailing token" errorPosiblemente ocupada @junyeokk la tomó hoy. Abiertobug untriaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
opensearch-project/opensearch-java#2236 ·
Los mantenedores suelen responder en 1 día