Index: scribusview.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/scribusview.cpp,v
retrieving revision 1.76.2.195
diff -u -3 -p -u -r1.76.2.195 scribusview.cpp
--- scribusview.cpp	16 May 2005 16:11:41 -0000	1.76.2.195
+++ scribusview.cpp	16 May 2005 22:10:27 -0000
@@ -10567,7 +10570,6 @@ void ScribusView::removePict(QString nam
 		if ((currItem->PicAvail) && (currItem->Pfile == name))
 		{
 			currItem->PicAvail = false;
-			currItem->pixm = QImage();
 /*			if (currItem->itemType() == PageItem::ImageFrame)
 				emit UpdtObj(Doc->currentPage->PageNr, currItem->ItemNr); */
 		}
@@ -10578,7 +10580,6 @@ void ScribusView::removePict(QString nam
 		if ((currItem->PicAvail) && (currItem->Pfile == name))
 		{
 			currItem->PicAvail = false;
-			currItem->pixm = QImage();
 		}
 	}
 	updateContents();
Index: scpainter.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/scpainter.cpp,v
retrieving revision 1.19.2.10
diff -u -3 -p -u -r1.19.2.10 scpainter.cpp
--- scpainter.cpp	22 Apr 2005 22:41:57 -0000	1.19.2.10
+++ scpainter.cpp	16 May 2005 22:10:27 -0000
@@ -929,8 +931,11 @@ void ScPainter::setClipPath()
 	art_free( temp1 );
 }
 
-void ScPainter::drawImage( QImage *image )
+
+
+void ScPainter::drawImage( QImage *image, bool avail )
 {
+	int alpha=255;
 	double affineresult[6];
 	affineresult[0] = m_matrix.m11() * m_zoomFactor;
 	affineresult[1] = m_matrix.m12() * m_zoomFactor;
@@ -938,6 +943,8 @@ void ScPainter::drawImage( QImage *image
 	affineresult[3] = m_matrix.m22() * m_zoomFactor;
 	affineresult[4] = m_matrix.dx();
 	affineresult[5] = m_matrix.dy();
+	
+	if (!avail) alpha=50;
 	ksvg_art_rgb_affine_clip( m_clipPath, m_buffer, 0, 0, m_width, m_height, m_width * 4, 4,
 					 image->bits(), image->width(), image->height(), image->width() * 4,
 					 affineresult, qRound( 255 * fill_trans ), 0L );
Index: scpainter.h
===================================================================
RCS file: /cvs/Scribus/scribus/scpainter.h,v
retrieving revision 1.7.2.7
diff -u -3 -p -u -r1.7.2.7 scpainter.h
--- scpainter.h	22 Apr 2005 22:41:57 -0000	1.7.2.7
+++ scpainter.h	16 May 2005 22:10:27 -0000
@@ -83,7 +83,7 @@ public:
 	virtual void setGradient( VGradient::VGradientType mode, FPoint orig, FPoint vec, FPoint foc = FPoint(0,0));
 	virtual void setClipPath();
 
-	virtual void drawImage( QImage *image );
+	virtual void drawImage( QImage *image, bool avail = true );
 	virtual void setupPolygon(FPointArray *points, bool closed = true);
 	virtual void setupTextPolygon(FPointArray *points);
 	virtual void drawPolygon();
Index: pageitem.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/pageitem.cpp,v
retrieving revision 1.121.2.130
diff -u -3 -p -u -r1.121.2.130 pageitem.cpp
--- pageitem.cpp	16 May 2005 07:45:24 -0000	1.121.2.130
+++ pageitem.cpp	16 May 2005 22:10:29 -0000
@@ -511,7 +511,13 @@ void PageItem::DrawObj_ImageFrame(ScPain
 			}
 			else
 			{
-				if ((!PicArt) || (!PicAvail))
+			if (!PicAvail)
+			{
+			p->setPen(red, 1, DotLine, FlatCap, MiterJoin);
+			p->drawLine(FPoint(0, 0), FPoint(Width, Height));
+			p->drawLine(FPoint(0, Height), FPoint(Width, 0));
+			}
+				if (!PicArt)
 				{
 					if ((Frame) && (Doc->guidesSettings.framesShown))
 					{
@@ -542,7 +548,7 @@ void PageItem::DrawObj_ImageFrame(ScPain
 					p->scale(LocalScX, LocalScY);
 					if (pixm.imgInfo.lowResType != 0)
 						p->scale(pixm.imgInfo.lowResScale, pixm.imgInfo.lowResScale);
-					p->drawImage(&pixm);
+					p->drawImage(&pixm, PicAvail);
 					p->restore();
 				}
 			}
@@ -629,7 +635,7 @@ void PageItem::DrawObj_TextFrame(ScPaint
 				p->scale(LocalScX, LocalScY);
 				p->translate(static_cast<int>(LocalX*LocalScX), static_cast<int>(LocalY*LocalScY));
 				if (!pixm.isNull())
-					p->drawImage(&pixm);
+					p->drawImage(&pixm, PicAvail);
 				p->restore();
 			}
 			if ((itemText.count() != 0) && (Dirty))
