소스 검색

Fixed 2d editor copying and pasting stuff when not in focus

Ivan Safrin 12 년 전
부모
커밋
ce8af9f6db
2개의 변경된 파일10개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 2
      IDE/Contents/Include/PolycodeScreenEditor.h
  2. 8 2
      IDE/Contents/Source/PolycodeScreenEditor.cpp

+ 2 - 2
IDE/Contents/Include/PolycodeScreenEditor.h

@@ -226,7 +226,8 @@ class PolycodeScreenEditorMain : public UIElement {
 		ScreenEntity *placingPreviewEntity;												
 		bool multiSelect;
 		
-		PolycodeEditor *editor;		
+		PolycodeEditor *editor;	
+		ScreenEntity *baseEntity;			
 	protected:
 	
 		PolycodeScreenEditorActionData *beforeData;
@@ -305,7 +306,6 @@ class PolycodeScreenEditorMain : public UIElement {
 		bool isDraggingEntity;
 		bool isScalingEntity;
 		
-		ScreenEntity *baseEntity;
 
 		
 		ScreenEntity *screenTransform;

+ 8 - 2
IDE/Contents/Source/PolycodeScreenEditor.cpp

@@ -2553,11 +2553,17 @@ PolycodeScreenEditor::PolycodeScreenEditor() : PolycodeEditor(true){
 }
 
 String PolycodeScreenEditor::Copy(void **data) {
-	return editorMain->Copy(data);
+	if(editorMain->baseEntity->hasFocus) {
+		return editorMain->Copy(data);
+	} else {
+		return "";
+	}
 }
 
 void PolycodeScreenEditor::Paste(void *data, String clipboardType) {
-	editorMain->Paste(data, clipboardType);
+	if(editorMain->baseEntity->hasFocus) {
+		editorMain->Paste(data, clipboardType);
+	}
 }
 
 void PolycodeScreenEditor::destroyClipboardData(void *data, String type) {