On Mon, 6 Nov 2023 20:06:25 GMT, Phil Race <[email protected]> wrote: >> @prrace By the way, how outdated is the comment that awt.dll should not rely >> on msvcp.dll? As far as I can tell we now always distribute msvcp.dll in the >> JDK, and it would help a lot if I could use the C++ Standard Library for >> this. Or could I statically link the CRT into awt.dll instead, if awt.dll >> really should not rely on msvcp.dll? > >> By the way, how outdated is the comment that awt.dll should not rely on >> msvcp.dll? As far as I can tell we now always distribute msvcp.dll in the >> JDK, and it would help a lot if I could use the C++ Standard Library for this > > Do we ? I'm not sure why that is. We've previously tried hard to avoid that. > Eg https://hg.openjdk.org/jdk9/jdk9/rev/f3c96aea372d > > We should still stay away from it. > > But it doesn't matter because the changes you are making aren't going in the > right direction. > The root of the compiler complaints is the gotos isn't it ? > So the code needs to be changed to not use gotos. I guess you do that but not > in a way I'd endorse > But there are hundreds of those. I guess only a few trigger the warnings ? > So your awt_Canvas example should end up looking something like this > WARNING: I just edited in place, haven't built it, haven't tested it, it is > to show what the code should look like > > > > void AwtCanvas::_SetEraseBackground(void *param) > { > JNIEnv *env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2); > > SetEraseBackgroundStruct *sebs = (SetEraseBackgroundStruct *)param; > jobject canvas = sebs->canvas; > > if (canvas == NULL) { > env->ExceptionClear(); > JNU_ThrowNullPointerException(env, "canvas"); > } else { > PDATA pData = JNI_GET_PDATA(canvas); > if (pData == NULL) { > env->DeleteGlobalRef(canvas); > THROW_NULL_PDATA_IF_NOT_DESTROYED(canvas); > } else { > AwtCanvas *c = (AwtCanvas*)pData; > c->m_eraseBackground = sebs->doErase; > c->m_eraseBackgroundOnResize = sebs->doEraseOnResize; > env->DeleteGlobalRef(canvas); > } > } > delete sebs; > }
Bumping, @prrace? ------------- PR Comment: https://git.openjdk.org/jdk/pull/15096#issuecomment-1809552512
