}
// If the windows doesn't have an Id yet assign it.
- int id = next_id_++;
+ int id;
+ do {
+ id = next_id_;
+ next_id_ = (next_id_ == INT_MAX) ? 1 : (next_id_ + 1);
+ } while (id_to_window_map_.find(id) != id_to_window_map_.end());
+
window_to_id_map_[window] = id;
id_to_window_map_[id] = window;
window->AddObserver(this);
friend struct DefaultSingletonTraits<AuraWindowRegistry>;
AuraWindowRegistry()
- : next_id_(0) {
+ : next_id_(1) {
}
virtual ~AuraWindowRegistry() {}