summaryrefslogtreecommitdiff
path: root/src/viewport.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/viewport.cpp')
-rw-r--r--src/viewport.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/viewport.cpp b/src/viewport.cpp
index 2ff4cf635..1b8e5965b 100644
--- a/src/viewport.cpp
+++ b/src/viewport.cpp
@@ -1871,7 +1871,7 @@ static void PlaceObject()
_tile_fract_coords.x = pt.x & TILE_UNIT_MASK;
_tile_fract_coords.y = pt.y & TILE_UNIT_MASK;
- w = GetCallbackWnd();
+ w = _thd.GetCallbackWnd();
if (w != NULL) w->OnPlaceObject(pt, TileVirtXY(pt.x, pt.y));
}
@@ -2017,6 +2017,17 @@ bool TileHighlightData::IsDraggingDiagonal()
}
/**
+ * Get the window that started the current highlighting.
+ * @return The window that requested the current tile highlighting, or \c NULL if not available.
+ */
+Window *TileHighlightData::GetCallbackWnd()
+{
+ return FindWindowById(this->window_class, this->window_number);
+}
+
+
+
+/**
* Updates tile highlighting for all cases.
* Uses _thd.selstart and _thd.selend and _thd.place_mode (set elsewhere) to determine _thd.pos and _thd.size
* Also drawstyle is determined. Uses _thd.new.* as a buffer and calls SetSelectionTilesDirty() twice,