Tk Source Code

Artifact [cef6e70c]
Login

Artifact cef6e70cd824494448ce0ef02ab0e9ed7a6c938809f640a7a4806d523f3e6f00:

Attachment "get3dbordercolors.diff" to ticket [517165ea] added by emiliano 2025-02-08 23:21:03.
Index: generic/tk3d.c
==================================================================
--- generic/tk3d.c
+++ generic/tk3d.c
@@ -1420,18 +1420,20 @@
     Tk_3DBorder border,
     XColor *bgColorPtr,
     XColor *darkColorPtr,
     XColor *lightColorPtr)
 {
+    TkBorder *borderPtr = (TkBorder *)border;
+
     if (bgColorPtr) {
-	*bgColorPtr = *((TkBorder *)border)->bgColorPtr;
+	*bgColorPtr = *borderPtr->bgColorPtr;
     }
     if (darkColorPtr) {
-	*darkColorPtr = *((TkBorder *) border)->darkColorPtr;
+	*darkColorPtr = borderPtr->darkColorPtr ? *borderPtr->darkColorPtr : *borderPtr->bgColorPtr;
     }
     if (lightColorPtr) {
-	*lightColorPtr = *((TkBorder *) border)->lightColorPtr;
+	*lightColorPtr = borderPtr->lightColorPtr ? *borderPtr->lightColorPtr : *borderPtr->bgColorPtr;;
     }
 }
 
 /*
  * Local Variables: