Tk Source Code

Check-in [3166ee3d]
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix [37a723eadd]: wm-transient-2.2 fails on macOS
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | bug-37a723eadd
Files: files | file ages | folders
SHA3-256: 3166ee3dac07f2ba985db0abc82e29de5ba0554672ed921dbb9991e551f6dd8c
User & Date: fvogel 2018-07-01 15:42:36
References
2018-07-01
15:43 Ticket [37a723ea] wm-transient-2.2 fails on macOS status still Open with 5 other changes artifact: 202c9b1f user: fvogel
Context
2018-07-04
08:43
Fix [37a723eadd]: wm-transient-2.2 fails on macOS check-in: cc96f015 user: fvogel tags: core-8-6-branch
2018-07-01
15:42
Fix [37a723eadd]: wm-transient-2.2 fails on macOS Closed-Leaf check-in: 3166ee3d user: fvogel tags: bug-37a723eadd
2018-06-30
21:08
Fix bug [1356961b8c]: add code to ensure wm transient is using a true toplevel as the master. Closed-Leaf check-in: ba4117fa user: culler tags: bug-1356961b8c
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to macosx/tkMacOSXWm.c.

3462
3463
3464
3465
3466
3467
3468
3469

3470
3471
3472
3473
3474
3475
3476
	    Tcl_SetObjResult(interp, Tcl_ObjPrintf(
		    "can't make \"%s\" its own master", Tk_PathName(winPtr)));
	    Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "SELF", NULL);
	    return TCL_ERROR;
	}

	wmPtr->master = Tk_WindowId(masterPtr);
	masterWindowName = Tcl_GetStringFromObj(objv[3], &length);

	if (wmPtr->masterWindowName != NULL) {
	    ckfree(wmPtr->masterWindowName);
	}
	wmPtr->masterWindowName = ckalloc(length+1);
	strcpy(wmPtr->masterWindowName, masterWindowName);
    }
    ApplyMasterOverrideChanges(winPtr, NULL);






|
>







3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
	    Tcl_SetObjResult(interp, Tcl_ObjPrintf(
		    "can't make \"%s\" its own master", Tk_PathName(winPtr)));
	    Tcl_SetErrorCode(interp, "TK", "WM", "TRANSIENT", "SELF", NULL);
	    return TCL_ERROR;
	}

	wmPtr->master = Tk_WindowId(masterPtr);
	masterWindowName = masterPtr->pathName;
	length = strlen(masterWindowName);
	if (wmPtr->masterWindowName != NULL) {
	    ckfree(wmPtr->masterWindowName);
	}
	wmPtr->masterWindowName = ckalloc(length+1);
	strcpy(wmPtr->masterWindowName, masterWindowName);
    }
    ApplyMasterOverrideChanges(winPtr, NULL);