X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fclient.cc;h=b77eb8f075cb579d5f6c2d12bfc3a20336ce72c0;hb=1297c7c157584599f474aa13effaca5a866bfb14;hp=b4015aae63227c877d492dffac86f4cb03d87799;hpb=a93f06f5b3162e59c04074a14bd3702e4bb82133;p=chaz%2Fopenbox diff --git a/src/client.cc b/src/client.cc index b4015aae..b77eb8f0 100644 --- a/src/client.cc +++ b/src/client.cc @@ -72,6 +72,10 @@ OBClient::~OBClient() { const otk::OBProperty *property = Openbox::instance->property(); + // clean up parents reference to this + if (_transient_for) + _transient_for->_transients.remove(this); // remove from old parent + if (Openbox::instance->state() != Openbox::State_Exiting) { // these values should not be persisted across a window unmapping/mapping property->erase(_window, otk::OBProperty::net_wm_desktop); @@ -237,7 +241,7 @@ void OBClient::getMwmHints() (unsigned long **)&hints)) return; - if (num == MwmHints::elements) { + if (num >= MwmHints::elements) { // retrieved the hints _mwmhints.flags = hints[0]; _mwmhints.functions = hints[1]; @@ -608,6 +612,7 @@ void OBClient::propertyHandler(const XPropertyEvent &e) getType(); calcLayer(); // type may have changed, so update the layer setupDecorAndFunctions(); + frame->adjustSize(); // this updates the frame for any new decor settings } else if (e.atom == property->atom(otk::OBProperty::net_wm_name) || e.atom == property->atom(otk::OBProperty::wm_name))