eirikbakke commented on PR #9303:
URL: https://github.com/apache/netbeans/pull/9303#issuecomment-4151476827

   Thanks for this!
   
   Reading over the Splash class, it does not seem to be very thread-safe, nor 
does it document which thread may access each method. My impression is that the 
Splash class is externally accessed from the "main" thread, i.e. thread on 
which main(String args[]) was originally called. Is that right?
   
   For example, SplashComponent (comp) is constructed on the main thread, 
though it really should be constructed on the EDT. After this PR, it is added 
to the Frame (frame) on the EDT. In another example, SplashPainter.barLength is 
updated on the main thread and read on the EDT, without synchronization or 
"volatile" anywhere.
   
   Perhaps we'd need to clean up the rest of the threading issues in this 
class, before we can safely move any of the code between threads? It's possible 
that some of this worked only by accident before.
   
   On the modality thing: Sure, sounds good to make it non-modal. I tested it 
on MacOS and didn't see any problems with it.
   
   On the USE_LAUNCHER_SPLASH = false thing: I could not get this working with 
HiDPI on Windows in the past. It's also quite a lot of complexity spent on 
getting the splash screen to show just a tiny bit earlier in the startup cycle. 
I don't think it's worth trying to reintroduce it. (On the contrary, it might 
be a good cleanup to just get rid of the related code, e.g. the part that 
stores the png of the splash screen to make it available for the splash 
parameter on next startup etc.)
   
   On WM_CLASS: It's good to have this set properly, yes! Is your concern that 
it is not being set on the splash screen frame, only on the eventual main 
window?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to