~lbrulet-8/compiz-plugins-main/fix-876591

« back to all changes in this revision

Viewing changes to workarounds/src/workarounds.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2011-06-06 16:19:03 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20110606161903-xz6332s4mdh8llxe
Tags: 0.9.4+bzr20110527-0ubuntu1
* New bug fix release:
  - apps started fullscreen in unity can never unfullscreen (LP: #765422)
* debian/patches/00_bzr_fix_centered_expo.patch:
  - removed, applied upstream

Show diffs side-by-side

added added

removed removed

Lines of Context:
689
689
    if (newWmType != window->wmType ())
690
690
    {
691
691
        adjustedWinType = TRUE;
 
692
        oldWmType = window->wmType ();
692
693
 
693
694
        window->recalcType ();
694
695
        window->recalcActions ();
695
696
 
696
697
        screen->matchPropertyChanged (window);
 
698
 
 
699
        window->wmType () = newWmType;
697
700
    }
698
701
}
699
702
 
706
709
 
707
710
    WORKAROUNDS_SCREEN (screen);
708
711
 
709
 
    newWmType = window->type (); // ???
 
712
    newWmType = window->wmType ();
710
713
 
711
714
    if (!XGetClassHint (screen->dpy (), window->id (), &classHint) != Success)
712
715
        return newWmType;
725
728
            resName.compare("notification-daemon") == 0)
726
729
        {
727
730
            newWmType = CompWindowTypeNotificationMask;
728
 
            updateFixedWindow (newWmType);
729
731
            return newWmType;
730
732
        }
731
733
    }
739
741
                (resName.compare ( "popup") == 0))
740
742
            {
741
743
                newWmType = CompWindowTypeDropdownMenuMask;
742
 
                updateFixedWindow (newWmType);
743
744
                return newWmType;
744
745
            }
745
746
        }
753
754
            if (resName.compare ( "VCLSalFrame") == 0)
754
755
            {
755
756
                newWmType = CompWindowTypeDropdownMenuMask;
756
 
                updateFixedWindow (newWmType);
757
757
                return newWmType;
758
758
            }
759
759
        }
765
765
            (resName.compare ( "sun-awt-X11-XWindowPeer") == 0))
766
766
        {
767
767
            newWmType = CompWindowTypeDropdownMenuMask;
768
 
            updateFixedWindow (newWmType);
769
768
            return newWmType;
770
769
        }
771
770
        else if (resName.compare ( "sun-awt-X11-XDialogPeer") == 0)
772
771
        {
773
772
            newWmType = CompWindowTypeDialogMask;
774
 
            updateFixedWindow (newWmType);
775
773
            return newWmType;
776
774
        }
777
775
        else if (resName.compare ( "sun-awt-X11-XFramePeer") == 0)
778
776
        {
779
777
            newWmType = CompWindowTypeNormalMask;
780
 
            updateFixedWindow (newWmType);
781
778
            return newWmType;
782
779
        }
783
780
    }
794
791
                (windowRole.compare ("qtooltip_label") == 0))
795
792
            {
796
793
                newWmType = CompWindowTypeTooltipMask;
797
 
                updateFixedWindow (newWmType);
798
794
                return newWmType;
799
795
            }
800
796
        }
805
801
            (newWmType == CompWindowTypeUnknownMask))
806
802
        {
807
803
            newWmType = CompWindowTypeDropdownMenuMask;
808
 
            updateFixedWindow (newWmType);
809
804
            return newWmType;
810
805
        }
811
806
    }
919
914
        {
920
915
            WORKAROUNDS_WINDOW (w);
921
916
            ww->updateSticky ();
922
 
            w->wmType () = ww->getFixedWindowType ();
 
917
            ww->updateFixedWindow (ww->getFixedWindowType ());
923
918
            ww->fixupFullscreen ();
924
919
        }
925
920
        break;
928
923
        if (w && w->overrideRedirect ())
929
924
        {
930
925
            WORKAROUNDS_WINDOW (w);
931
 
            w->wmType () = ww->getFixedWindowType ();
 
926
            ww->updateFixedWindow (ww->getFixedWindowType ());
932
927
        }
933
928
        break;
934
929
    case DestroyNotify:
970
965
            if (w)
971
966
            {
972
967
                WORKAROUNDS_WINDOW (w);
973
 
                w->wmType () = ww->getFixedWindowType ();
 
968
                ww->updateFixedWindow (ww->getFixedWindowType ());
974
969
            }
975
970
        }
976
971
        else if (event->xproperty.atom == XA_WM_HINTS)
1093
1088
    isFullscreen (false),
1094
1089
    madeDemandAttention (false),
1095
1090
    isMinimized (window->minimized ()),
 
1091
    oldWmType (window->wmType ()),
1096
1092
    windowHideInfo (NULL)
1097
1093
{
1098
1094
    WindowInterface::setHandler (window, false);
1147
1143
    {
1148
1144
        if (adjustedWinType)
1149
1145
        {
1150
 
            window->wmType () = window->type ();
 
1146
            window->wmType () = oldWmType;
1151
1147
            window->recalcType ();
1152
1148
            window->recalcActions ();
1153
1149
        }