Skip to content

Conversation

@ptziegler
Copy link
Contributor

The handling of expose events has been internalized with GTK4 making it impossible to e.g. invalidate an area of a surface. Furthermore, the native method that are called no longer exist in GTK4, leading to an UnsatisfiedLinkError.

From the documentation:
Application and widget code should not handle expose events directly; invalidation should use the GtkWidget API, and drawing should only happen inside GtkWidget::draw implementations.

Closes #1794

The handling of expose events has been internalized with GTK4 making it
impossible to e.g. invalidate an area of a surface. Furthermore, the
native method that are called no longer exist in GTK4, leading to an
UnsatisfiedLinkError.

From the documentation:
Application and widget code should not handle expose events directly;
invalidation should use the GtkWidget API, and drawing should only
happen inside GtkWidget::draw implementations.

Closes eclipse-platform#1794
@github-actions
Copy link
Contributor

Test Results

   502 files  ±0     502 suites  ±0   11m 56s ⏱️ + 3m 13s
 4 334 tests ±0   4 320 ✅ ±0   14 💤 ±0  0 ❌ ±0 
16 575 runs  ±0  16 466 ✅ ±0  109 💤 ±0  0 ❌ ±0 

Results for commit 8b7955b. ± Comparison against base commit 0071da4.

@akurtakov
Copy link
Member

Thanks, this looks like the right thing to do as GdkSurface (GdkWindow replacement in Gtk 4) doesn't provide such api.

@akurtakov akurtakov merged commit df1c412 into eclipse-platform:master Feb 11, 2025
14 checks passed
@akurtakov
Copy link
Member

@ptziegler As you are committer now feel free to merge PRs yourself if/when I can't find time to review them in timely manner.

@ptziegler ptziegler deleted the issue1794 branch February 12, 2025 09:28
@ptziegler
Copy link
Contributor Author

@ptziegler As you are committer now feel free to merge PRs yourself if/when I can't find time to review them in timely manner.

You are right, of course. I usually like to wait one or two days in case someone else wants to have a look at it, but I frequently end up forgetting about it because of other tasks popping up. 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[GTK4] UnsatisfiedLinkError in Display.flushExposes

2 participants