瀏覽代碼

Fixed initialization of cursor_proxy in Context's ctor, allowing it to be rendered: fixes missing drag&drop cloned elements.

Seems like Variants store pointers as pointers-to-pointers (fixed code that assumed plain pointers in drag&drop example.)
Kezeali 14 年之前
父節點
當前提交
ac6fe5d549
共有 2 個文件被更改,包括 3 次插入1 次删除
  1. 1 1
      Samples/basic/drag/src/DragListener.cpp
  2. 2 0
      Source/Core/Context.cpp

+ 1 - 1
Samples/basic/drag/src/DragListener.cpp

@@ -42,7 +42,7 @@ void DragListener::ProcessEvent(Rocket::Core::Event& event)
 	{
 		Rocket::Core::Element* dest_container = event.GetCurrentElement();
 		Rocket::Core::Element* dest_element = event.GetTargetElement();
-		Rocket::Core::Element* drag_element = static_cast< Rocket::Core::Element* >(event.GetParameter< void* >("drag_element", NULL));
+		Rocket::Core::Element* drag_element = *static_cast< Rocket::Core::Element** >(event.GetParameter< void* >("drag_element", NULL));
 
 		if (dest_container == dest_element)
 		{

+ 2 - 0
Source/Core/Context.cpp

@@ -59,6 +59,8 @@ Context::Context(const String& name) : name(name), mouse_position(0, 0), dimensi
 		if (element != NULL)
 			element->RemoveReference();
 	}
+	else
+		cursor_proxy->context = this;
 
 	document_focus_history.push_back(root);
 	focus = root;