Fix technical/shapewin move mode through edge flip

The technical etc. move modes using a shaped window ("avoid server grab"
mode) would create a new shape window on every edge flip, which could
only be removed by restarting e16.

Broken since 0c16916258 - v1.0.12.
This commit is contained in:
Kim Woelders 2020-05-06 07:51:23 +02:00
parent db38aae9e6
commit b27ff7ee74
1 changed files with 10 additions and 6 deletions

View File

@ -1,6 +1,6 @@
/*
* Copyright (C) 2000-2007 Carsten Haitzler, Geoff Harrison and various contributors
* Copyright (C) 2007-2018 Kim Woelders
* Copyright (C) 2007-2020 Kim Woelders
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
@ -226,12 +226,16 @@ DrawEwinShape(EWin * ewin, int md, int x, int y, int w, int h,
{
EwinShapeSet(ewin);
psd = ECALLOC(ShapeData, 1);
ewin->shape_data = psd;
psd = (ShapeData *) ewin->shape_data;
if (!psd)
goto done;
psd->root = WinGetXwin(VROOT);
EwinBorderGetSize(ewin, &psd->bl, &psd->br, &psd->bt, &psd->bb);
{
psd = ECALLOC(ShapeData, 1);
if (!psd)
goto done;
ewin->shape_data = psd;
psd->root = WinGetXwin(VROOT);
EwinBorderGetSize(ewin, &psd->bl, &psd->br, &psd->bt, &psd->bb);
}
}
psd = (ShapeData *) ewin->shape_data;
if (!psd)