summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kdesktop/kdiconview.cc8
-rw-r--r--kdesktop/kdiconview.h2
2 files changed, 8 insertions, 2 deletions
diff --git a/kdesktop/kdiconview.cc b/kdesktop/kdiconview.cc
index 75e8d10a7..e3b005b73 100644
--- a/kdesktop/kdiconview.cc
+++ b/kdesktop/kdiconview.cc
@@ -147,7 +147,8 @@ KDIconView::KDIconView( TQWidget *parent, const char* name )
m_eSortCriterion( NameCaseInsensitive ),
m_bSortDirectoriesFirst( true ),
m_itemsAlwaysFirst(),
- m_gotIconsArea(false)
+ m_gotIconsArea(false),
+ m_needDesktopAlign(true)
{
setResizeMode( Fixed );
setIconArea( desktopRect() ); // the default is the whole desktop
@@ -1493,7 +1494,10 @@ void KDIconView::updateWorkArea( const TQRect &wr )
{
m_gotIconsArea = true; // now we have it!
- if ( iconArea() == wr ) return; // nothing changed; avoid repaint/saveIconPosition ...
+ if (( iconArea() == wr ) && (m_needDesktopAlign == false)) return; // nothing changed; avoid repaint/saveIconPosition ...
+
+ m_needDesktopAlign = false;
+ lineupIcons();
TQRect oldArea = iconArea();
setIconArea( wr );
diff --git a/kdesktop/kdiconview.h b/kdesktop/kdiconview.h
index 5ef349322..73b493120 100644
--- a/kdesktop/kdiconview.h
+++ b/kdesktop/kdiconview.h
@@ -258,6 +258,8 @@ private:
// did we already get the correct desktopIconsArea (from kicker)
// needed when we want to line up icons on a grid
bool m_gotIconsArea;
+
+ bool m_needDesktopAlign;
};
#endif