Community
Participate
Working Groups
This happens because 'OS.getThemeNameBytes' returns non-zero-terminated string. When this string gets passed to 'gtk_css_provider_get_named', it can load correct or wrong theme, depending on how starts align. This even causes very interesting behavior where putting a breakpoint on 'gtk_css_provider_get_named' causes another theme to be loaded. Will submit fix soon...
Interesting. I'm always happy to review patches, so just add me as a reviewer and I'll take a look. :)
New Gerrit change created: https://git.eclipse.org/r/138400
For me, the easiest way to reproduce was to add this code in 'Display.initializeSystemColors': ------------------------ long /*int*/ themeProvider = GTK.gtk_css_provider_get_named(buffer, darkBuffer); System.out.format("themeProvider0000 = %X%n", themeProvider); long /*int*/ lastThemeProvider = themeProvider; for (int i = 1; i < 10*1024; i++) { long /*int*/ themeProviderN = GTK.gtk_css_provider_get_named(buffer, darkBuffer); if (lastThemeProvider != themeProviderN) { lastThemeProvider = themeProviderN; System.out.format("themeProvider%04d = %X <--- new%n", i, themeProviderN); } else { System.out.format("themeProvider%04d = %X%n", i, themeProviderN); } } ------------------------ It also happened to me when I set breakpoint on 'gtk_css_provider_get_named.
Gerrit change https://git.eclipse.org/r/138400 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=2ba1851a26f7feee69700dea35584a0b505c78d6
(In reply to Eclipse Genie from comment #4) > Gerrit change https://git.eclipse.org/r/138400 was merged to [master]. > Commit: > http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/ > ?id=2ba1851a26f7feee69700dea35584a0b505c78d6 In master now.
Verified in I20190409-0600.