9af57cbe00
compiler figure out which types std::advance is used with.
91 lines
3.1 KiB
Text
91 lines
3.1 KiB
Text
$NetBSD: patch-ab,v 1.2 2013/04/29 21:27:15 joerg Exp $
|
|
|
|
Sunpro has problems with a non-const const_reverse_iterator.
|
|
|
|
--- lib/Menu.cc.orig 2005-01-27 17:08:22.000000000 +0000
|
|
+++ lib/Menu.cc
|
|
@@ -33,9 +33,9 @@
|
|
#include <X11/Xlib.h>
|
|
#include <X11/keysym.h>
|
|
|
|
-#include <stdio.h>
|
|
#include <assert.h>
|
|
-
|
|
+#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
|
|
bt::MenuStyle **bt::MenuStyle::styles = 0;
|
|
|
|
@@ -363,7 +363,7 @@ unsigned int bt::Menu::insertItem(const
|
|
} else {
|
|
index = std::min(static_cast<size_t>(index), _items.size());
|
|
it = _items.begin();
|
|
- std::advance<ItemList::iterator, signed>(it, index);
|
|
+ std::advance(it, index);
|
|
}
|
|
|
|
it = _items.insert(it, item);
|
|
@@ -514,7 +514,7 @@ void bt::Menu::removeItem(unsigned int i
|
|
|
|
void bt::Menu::removeIndex(unsigned int index) {
|
|
ItemList::iterator it = _items.begin();
|
|
- std::advance<ItemList::iterator, signed>(it, index);
|
|
+ std::advance(it, index);
|
|
if (it == _items.end())
|
|
return; // item not found
|
|
removeItemByIterator(it);
|
|
@@ -1035,7 +1035,7 @@ void bt::Menu::keyPressEvent(const XKeyE
|
|
const ItemList::const_iterator &end = _items.end();
|
|
ItemList::const_iterator anchor = _items.begin();
|
|
if (_active_index != ~0u) {
|
|
- std::advance<ItemList::const_iterator, signed>(anchor, _active_index);
|
|
+ std::advance(anchor, _active_index);
|
|
|
|
// go one paste the current active index
|
|
if (anchor != end && !anchor->separator)
|
|
@@ -1052,11 +1052,10 @@ void bt::Menu::keyPressEvent(const XKeyE
|
|
}
|
|
|
|
case XK_Up: {
|
|
- ItemList::const_reverse_iterator anchor = _items.rbegin();
|
|
- const ItemList::const_reverse_iterator &end = _items.rend();
|
|
+ ItemList::reverse_iterator anchor = _items.rbegin();
|
|
+ const ItemList::reverse_iterator &end = _items.rend();
|
|
if (_active_index != ~0u) {
|
|
- std::advance<ItemList::const_reverse_iterator, signed>
|
|
- (anchor, _items.size() - _active_index - 1);
|
|
+ std::advance(anchor, _items.size() - _active_index - 1);
|
|
|
|
// go one item past the current active index
|
|
if (anchor != end && !anchor->separator)
|
|
@@ -1065,7 +1064,7 @@ void bt::Menu::keyPressEvent(const XKeyE
|
|
|
|
if (anchor == end) anchor = _items.rbegin();
|
|
|
|
- ItemList::const_reverse_iterator it =
|
|
+ ItemList::reverse_iterator it =
|
|
std::find_if(anchor, end, InteractMatch());
|
|
if (it != end)
|
|
activateIndex(it->indx);
|
|
@@ -1073,8 +1072,8 @@ void bt::Menu::keyPressEvent(const XKeyE
|
|
}
|
|
|
|
case XK_Home: {
|
|
- const ItemList::const_iterator &end = _items.end();
|
|
- ItemList::const_iterator it = _items.begin();
|
|
+ const ItemList::iterator &end = _items.end();
|
|
+ ItemList::iterator it = _items.begin();
|
|
it = std::find_if(it, end, InteractMatch());
|
|
if (it != end)
|
|
activateIndex(it->indx);
|
|
@@ -1082,8 +1081,8 @@ void bt::Menu::keyPressEvent(const XKeyE
|
|
}
|
|
|
|
case XK_End: {
|
|
- const ItemList::const_reverse_iterator &end = _items.rend();
|
|
- ItemList::const_reverse_iterator it = _items.rbegin();
|
|
+ const ItemList::reverse_iterator &end = _items.rend();
|
|
+ ItemList::reverse_iterator it = _items.rbegin();
|
|
it = std::find_if(it, end, InteractMatch());
|
|
if (it != end)
|
|
activateIndex(it->indx);
|