Bug 414088 Error in code of PageArea.createRoot
This seems to me like a copy&paste error in the code: protected void createRoot( ) { ... pageRoot.setBoxStyle( boxStyle ); rootLeft = getDimensionValue( pageContent, pageContent.getMarginLeft( ), pageContentWidth ); rootTop = getDimensionValue( pageContent, pageContent.getMarginTop( ), pageContentWidth ); rootLeft = Math.max( 0, rootLeft ); ... Consider the line "rootTop = ...". Shouldn't this read rootTop = getDimensionValue( pageContent, pageContent.getMarginTop( ), pageContentHeight ); instead?
engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/nLayout/area/impl/PageArea.java
Image img = backgroundImage.getImageInstance( );
		
		IStyle style = pageContent.getStyle( );
		String widthStr = style.getBackgroundWidth( );
		String heightStr = style.getBackgroundHeight( );
		
		if ( img != null )
		{
			int resolutionX = img.getDpiX( );
			int resolutionY = img.getDpiY( );
			if ( 0 == resolutionX || 0 == resolutionY )
			{
				resolutionX = 96;
				resolutionY = 96;
			}
			float imageWidth = img.getPlainWidth( ) / resolutionX * 72
					* PDFConstants.LAYOUT_TO_PDF_RATIO;
			float imageHeight = img.getPlainHeight( ) / resolutionY * 72
					* PDFConstants.LAYOUT_TO_PDF_RATIO;
			int actualWidth = (int) imageWidth;
			int actualHeight = (int) imageHeight;
			if ( widthStr != null && widthStr.length( ) > 0
					|| heightStr != null && heightStr.length( ) > 0 )
			{
				if ( "contain".equals( widthStr )
						|| "contain".equals( heightStr ) )
				{
					float rh = imageHeight / height;
					float rw = imageWidth / width;
					if ( rh > rw )