Tk Source Code

Check-in [336d7df9]
Login

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

Overview
Comment:Backport of dgp wm-forget and wm-manage fixes; test suite no longer crashes
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-5-branch
Files: files | file ages | folders
SHA1: 336d7df9cb591c282737ff3529aede1c8fea5257
User & Date: kevin_walzer 2012-10-18 02:46:11
Context
2012-10-23
07:39
Backport of ::tk::mac::useCompatibilityMetrics handling and scrollbar metrics handling from trunk check-in: c4ddf09a user: jan.nijtmans tags: core-8-5-branch
2012-10-18
03:56
merge-mark check-in: b7a8d62e user: jan.nijtmans tags: trunk
02:46
Backport of dgp wm-forget and wm-manage fixes; test suite no longer crashes check-in: 336d7df9 user: kevin_walzer tags: core-8-5-branch
2012-10-09
17:50
Pull unintentional core-8-5-branch fork back together. check-in: 5da1d4de user: andreask tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to macosx/tkMacOSXWm.c.

724
725
726
727
728
729
730



731
732
733
734
735
736
737
    TkWindow *winPtr)		/* Top-level window that's being deleted. */
{
    WmInfo *wmPtr = winPtr->wmInfoPtr, *wmPtr2;

    if (wmPtr == NULL) {
	return;
    }



    if (wmPtr->hints.flags & IconPixmapHint) {
	Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_pixmap);
    }
    if (wmPtr->hints.flags & IconMaskHint) {
	Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_mask);
    }
    if (wmPtr->iconName != NULL) {







>
>
>







724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
    TkWindow *winPtr)		/* Top-level window that's being deleted. */
{
    WmInfo *wmPtr = winPtr->wmInfoPtr, *wmPtr2;

    if (wmPtr == NULL) {
	return;
    }
     Tk_ManageGeometry((Tk_Window) winPtr, NULL, NULL);
    Tk_DeleteEventHandler((Tk_Window) winPtr, StructureNotifyMask,
	    TopLevelEventProc, winPtr);
    if (wmPtr->hints.flags & IconPixmapHint) {
	Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_pixmap);
    }
    if (wmPtr->hints.flags & IconMaskHint) {
	Tk_FreeBitmap(winPtr->display, wmPtr->hints.icon_mask);
    }
    if (wmPtr->iconName != NULL) {
1637
1638
1639
1640
1641
1642
1643
1644

1645
1646



1647
1648




1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
    Tcl_Obj *const objv[])	/* Argument objects. */
{

    register Tk_Window frameWin = (Tk_Window)winPtr;

    if (Tk_IsTopLevel(frameWin)) {

	MacDrawable *macWin;                                                                                              

	Tk_MakeWindowExist(winPtr);                                                                                      
	Tk_MakeWindowExist(winPtr->parentPtr);                                                                                      macWin = (MacDrawable *) winPtr->window;                              



    	TkFocusJoin(winPtr);
    	Tk_UnmapWindow(frameWin); 




	TkWmDeadWindow(macWin);
	RemapWindows(winPtr, macWin);
       
	winPtr->flags &=~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);

	/*
         * Flags (above) must be cleared before calling TkMapTopFrame (below).
         */

	TkMapTopFrame(frameWin);







|
>
|
|
>
>
>


>
>
>
>
|
|
|







1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
    Tcl_Obj *const objv[])	/* Argument objects. */
{

    register Tk_Window frameWin = (Tk_Window)winPtr;

    if (Tk_IsTopLevel(frameWin)) {

	MacDrawable *macWin;

	Tk_MakeWindowExist(winPtr);
	Tk_MakeWindowExist(winPtr->parentPtr);

	macWin = (MacDrawable *) winPtr->window;

    	TkFocusJoin(winPtr);
    	Tk_UnmapWindow(frameWin); 

	macWin->toplevel = winPtr->parentPtr->privatePtr->toplevel;
	macWin->flags &= ~TK_HOST_EXISTS;

	TkWmDeadWindow(winPtr);
	RemapWindows(winPtr, (MacDrawable *) winPtr->parentPtr->window);
  
	winPtr->flags &=~(TK_TOP_HIERARCHY|TK_TOP_LEVEL|TK_HAS_WRAPPER|TK_WIN_MANAGED);

	/*
         * Flags (above) must be cleared before calling TkMapTopFrame (below).
         */

	TkMapTopFrame(frameWin);