diff --git a/src/ImageSelect.py b/src/ImageSelect.py index b5ae783aa..99b36de45 100644 --- a/src/ImageSelect.py +++ b/src/ImageSelect.py @@ -222,6 +222,7 @@ class Gallery(ImageSelect): icon_list.connect("drag_begin", self.on_drag_begin) _iconlist_refs.append(icon_list) + self.in_event = 0 # Remember arguments self.path = path; @@ -261,6 +262,9 @@ class Gallery(ImageSelect): def item_event(self, widget, event=None): + if self.in_event: + return + self.in_event = 1 if self.button and event.type == gtk.gdk.MOTION_NOTIFY : if widget.drag_check_threshold(self.remember_x,self.remember_y, event.x,event.y): @@ -273,6 +277,7 @@ class Gallery(ImageSelect): gtk.gdk.ACTION_COPY|gtk.gdk.ACTION_MOVE, self.button, event) + self.in_event = 0 return gtk.TRUE style = self.iconlist.get_style() @@ -296,6 +301,7 @@ class Gallery(ImageSelect): self.remember_x = event.x self.remember_y = event.y self.button = event.button + self.in_event = 0 return gtk.TRUE elif event.button == 3: @@ -303,6 +309,7 @@ class Gallery(ImageSelect): if item: (i,t,b,self.photo,oid) = self.p_map[item] self.show_popup(self.photo) + self.in_event = 0 return gtk.TRUE elif event.type == gtk.gdk.BUTTON_RELEASE: self.button = 0 @@ -311,6 +318,7 @@ class Gallery(ImageSelect): if item: (i,t,b,self.photo,oid) = self.p_map[item] LocalMediaProperties(self.photo,self.path,self) + self.in_event = 0 return gtk.TRUE elif event.type == gtk.gdk.MOTION_NOTIFY: if event.state & gtk.gdk.BUTTON1_MASK: @@ -321,11 +329,13 @@ class Gallery(ImageSelect): self.remember_x = new_x self.remember_y = new_y + self.in_event = 0 return gtk.TRUE if event.type == gtk.gdk.EXPOSE: self.load_images() + self.in_event = 0 return gtk.FALSE def savephoto(self, photo): diff --git a/src/plugins/ReorderIds.py b/src/plugins/ReorderIds.py index dd3830230..db9e4f891 100644 --- a/src/plugins/ReorderIds.py +++ b/src/plugins/ReorderIds.py @@ -56,7 +56,7 @@ class ReorderIds: if possible. Otherwise, blindly renumber those that can't.""" dups = [] - newids = [] + newids = {} key_list = [] # search all ids in the map @@ -79,14 +79,15 @@ class ReorderIds: index = match.groups()[0] newid = prefix % int(index) if newid == id: + newids[newid] = id continue elif data_map.has_key(newid): dups.append(id) else: - newids.append(id) data = data_map[id] - data.setId(newid) data_map[newid] = data + newids[newid] = id + data.setId(newid) del data_map[id] if update: update(newid,id) @@ -102,10 +103,10 @@ class ReorderIds: for id in dups: while 1: newid = prefix % index - if newid not in newids: + if not newids.has_key(newid): break index = index + 1 - newids.append(newid) + newids[newid] = newid data = data_map[id] data.setId(newid) data_map[newid] = data