From c684950ecff34e910e6da5840737a469f95a0e79 Mon Sep 17 00:00:00 2001 From: Benjamin Berg Date: Thu, 10 Sep 2009 15:34:56 +0000 Subject: Do not emit the row-changed signal, but redraw the row for prelight. This basically undos commit 4bb221349c24515303fa14f9a580f955825b17d4 and fixes the code that was there before. Emitting the row-changed signal causes any editing to be canceled. --- diff --git a/src/sugar/graphics/palettewindow.py b/src/sugar/graphics/palettewindow.py index e8539cf..3049f55 100644 --- a/src/sugar/graphics/palettewindow.py +++ b/src/sugar/graphics/palettewindow.py @@ -923,9 +923,13 @@ class CellRendererInvoker(Invoker): self.notify_mouse_leave() def _redraw_path(self, path): - model = self._tree_view.get_model() - iterator = model.get_iter(path) - model.row_changed(path, iterator) + for column in self._tree_view.get_columns(): + if self._cell_renderer in column.get_cell_renderers(): + break + area = self._tree_view.get_background_area(path, column) + x, y = \ + self._tree_view.convert_bin_window_to_widget_coords(area.x, area.y) + self._tree_view.queue_draw_area(x, y, area.width, area.height) def __leave_notify_event_cb(self, widget, event): self.notify_mouse_leave() -- cgit v0.9.1