- if (hints->flags & WindowGroupHint) {
- /* did the group state change? */
- if (hints->window_group !=
- (self->group ? self->group->leader : None)) {
- /* remove from the old group if there was one */
- if (self->group != NULL) {
- /* remove transients of the group */
- for (it = self->group->members; it; it = it->next)
- if (it->data != self &&
- ((Client*)it->data)->transient_for == TRAN_GROUP) {
- self->transients = g_slist_remove(self->transients,
- it->data);
- }
- group_remove(self->group, self);
- self->group = NULL;
- }
- if (hints->window_group != None) {
- self->group = group_add(hints->window_group, self);
-
- /* add other transients of the group that are already
- set up */
- for (it = self->group->members; it; it = it->next)
- if (it->data != self &&
- ((Client*)it->data)->transient_for == TRAN_GROUP)
- self->transients = g_slist_append(self->transients,
- it->data);
- }
+ if (!(hints->flags & WindowGroupHint))
+ hints->window_group = None;
+
+ /* did the group state change? */
+ if (hints->window_group !=
+ (self->group ? self->group->leader : None)) {
+ /* remove from the old group if there was one */
+ if (self->group != NULL) {
+ /* remove transients of the group */
+ for (it = self->group->members; it; it = it->next)
+ if (it->data != self &&
+ ((Client*)it->data)->transient_for == TRAN_GROUP) {
+ self->transients = g_slist_remove(self->transients,
+ it->data);
+ }
+ group_remove(self->group, self);
+ self->group = NULL;
+ }
+ if (hints->window_group != None) {
+ self->group = group_add(hints->window_group, self);