Index: NoesisInstance.cpp
===================================================================
--- NoesisInstance.cpp	(revision 15091)
+++ NoesisInstance.cpp	(working copy)
@@ -246,7 +246,7 @@
 	RHICmdList.BeginRenderPass(RPInfo, TEXT("NoesisOnScreen"));
 	RHICmdList.SetViewport(Left, Top, 0.0f, Right, Bottom, 1.0f);
 	EngineGamma = (!GIsEditor && (ColorTarget->GetFormat() == PF_FloatRGBA)/* && (Params.bIsHDR == false)*/) ? 1.0f : EngineGamma;
-	RHICmdList.SetScissorRect(true, (uint32)FMath::Max(Left, CullingRect.Left), (uint32)FMath::Max(Top, CullingRect.Top), (uint32)FMath::Min(Right, CullingRect.Right), (uint32)FMath::Min(Bottom, CullingRect.Bottom));
+	RHICmdList.SetScissorRect(true, (uint32)FMath::Clamp(CullingRect.Left, Left, Right), (uint32)FMath::Clamp(CullingRect.Top, Top, Bottom), (uint32)FMath::Clamp(CullingRect.Right, Left, Right), (uint32)FMath::Clamp(CullingRect.Bottom, Top, Bottom));
 	RenderOnscreen(RHICmdList, false);
 	RHICmdList.SetScissorRect(false, 0, 0, 0, 0);
 	RHICmdList.EndRenderPass();
@@ -303,7 +303,7 @@
 		[this](FRHICommandListImmediate& RHICmdList)
 		{
 			RHICmdList.SetViewport(Left, Top, 0.0f, Right, Bottom, 1.0f);
-			RHICmdList.SetScissorRect(true, (uint32)FMath::Max(Left, CullingRect.Left), (uint32)FMath::Max(Top, CullingRect.Top), (uint32)FMath::Min(Right, CullingRect.Right), (uint32)FMath::Min(Bottom, CullingRect.Bottom));
+			RHICmdList.SetScissorRect(true, (uint32)FMath::Clamp(CullingRect.Left, Left, Right), (uint32)FMath::Clamp(CullingRect.Top, Top, Bottom), (uint32)FMath::Clamp(CullingRect.Right, Left, Right), (uint32)FMath::Clamp(CullingRect.Bottom, Top, Bottom));
 			RenderOnscreen(RHICmdList, false);
 			RHICmdList.SetScissorRect(false, 0, 0, 0, 0);
 		}
@@ -1483,7 +1483,7 @@
 		}
 
 		bool Hit = false;
-		if (WidgetComponent == nullptr || WidgetComponentHit)
+		if (WidgetComponent == nullptr || WidgetComponentHit || WidgetComponent->GetWidgetSpace() == EWidgetSpace::Screen)
 		{
 			Hit = HitTest(Position);
 		}
