Enlightenment CVS committal Author : raster Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_gadman.c Log Message: fix overlap =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_gadman.c,v retrieving revision 1.16 retrieving revision 1.17 diff -u -3 -r1.16 -r1.17 --- e_gadman.c 22 Jan 2005 06:58:34 -0000 1.16 +++ e_gadman.c 22 Jan 2005 12:07:10 -0000 1.17 @@ -652,10 +652,13 @@ E_Gadman_Client *gmc2; gmc2 = l->data; - if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && - (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) + if (gmc != gmc2) { - gmc->x = gmc2->x + gmc2->w; + if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && + (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) + { + gmc->x = gmc2->x + gmc2->w; + } } } if ((gmc->x + gmc->w) > (gmc->zone->x + gmc->zone->w)) @@ -666,20 +669,29 @@ E_Gadman_Client *gmc2; gmc2 = l->data; - if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && - (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) - ok = 0; + if (gmc != gmc2) + { + if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && + (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) + { + ok = 0; + break; + } + } } if (ok) break; for (l = gmc->zone->container->gadman->clients; l; l = l->next) { E_Gadman_Client *gmc2; - gmc2 = l->data; - if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && - (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) + if (gmc != gmc2) { - gmc->x = gmc2->x - gmc->w; + gmc2 = l->data; + if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && + (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) + { + gmc->x = gmc2->x - gmc->w; + } } } if (gmc->x < gmc->zone->x) @@ -690,9 +702,15 @@ E_Gadman_Client *gmc2; gmc2 = l->data; - if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && - (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) - ok = 0; + if (gmc != gmc2) + { + if ((E_SPANS_COMMON(gmc->x, gmc->w, gmc2->x, gmc2->w)) && + (E_SPANS_COMMON(gmc->y, gmc->h, gmc2->y, gmc2->h))) + { + ok = 0; + break; + } + } } if (ok) break; if (gmc->y > (gmc->zone->y + (gmc->zone->h / 2))) ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs