| Summary: | Alignment is broken with groups | ||
|---|---|---|---|
| Product: | [Applications] kst | Reporter: | George Staikos <staikos> |
| Component: | plotting | Assignee: | kst |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | ||
| Priority: | NOR | ||
| Version First Reported In: | 1.x | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
George Staikos
2005-11-08 04:29:49 UTC
SVN commit 484745 by arwalker:
BUG:115893 Ensure axis alignment occurs across groups by burrowing down into groups to determine the axis alignment and dirty states.
M +5 -6 ksttoplevelview.cpp
M +8 -0 kstviewobject.cpp
--- trunk/extragear/graphics/kst/kst/ksttoplevelview.cpp #484744:484745
@@ -112,11 +112,8 @@
// X11 triggered event in that case, since we already iterate.
// Also this might break if a draw happens before this is called,
// which was at least the case at one time in the past.
- for (KstViewObjectList::ConstIterator i = _children.begin(); i != _children.end(); ++i) {
- if ((*i)->dirty()) {
- updateAlignment(p);
- break;
- }
+ if (objectDirty()) {
+ updateAlignment(p);
}
}
#ifdef BENCHMARK
@@ -143,7 +140,9 @@
KST::alignment.reset();
for (KstViewObjectList::Iterator i = _children.begin(); i != _children.end(); ++i) {
(*i)->internalAlignment(p, plotRegion);
- KST::alignment.setPosition((*i)->geometry(), plotRegion);
+ if (!plotRegion.isNull()) {
+ KST::alignment.setPosition((*i)->geometry(), plotRegion);
+ }
}
}
--- trunk/extragear/graphics/kst/kst/kstviewobject.cpp #484744:484745
@@ -544,6 +544,14 @@
void KstViewObject::internalAlignment(KstPainter& p, QRect& plotRegion) {
Q_UNUSED(p)
static const QRect x(0,0,0,0);
+
+ for (KstViewObjectList::Iterator i = _children.begin(); i != _children.end(); ++i) {
+ (*i)->internalAlignment(p, plotRegion);
+ if (!plotRegion.isNull()) {
+ KST::alignment.setPosition((*i)->geometry(), plotRegion);
+ }
+ }
+
plotRegion = x;
}
Change version to 1.x |