diff --git a/src/apps/networkstatus/WirelessNetworkMenuItem.cpp b/src/apps/networkstatus/WirelessNetworkMenuItem.cpp index e6ea0e423b..940711db66 100644 --- a/src/apps/networkstatus/WirelessNetworkMenuItem.cpp +++ b/src/apps/networkstatus/WirelessNetworkMenuItem.cpp @@ -103,8 +103,8 @@ WirelessNetworkMenuItem::DrawRadioIcon() WirelessNetworkMenuItem::CompareSignalStrength(const BMenuItem* a, const BMenuItem* b) { - WirelessNetworkMenuItem* aItem = *(WirelessNetworkMenuItem**)a; - WirelessNetworkMenuItem* bItem = *(WirelessNetworkMenuItem**)b; + WirelessNetworkMenuItem* aItem = (WirelessNetworkMenuItem*)a; + WirelessNetworkMenuItem* bItem = (WirelessNetworkMenuItem*)b; wireless_network aNetwork = aItem->Network(); wireless_network bNetwork = bItem->Network(); diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index 7c97ab6566..1c0fe310fd 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -1451,7 +1451,11 @@ BMenu::SetTrackingHook(menu_tracking_hook func, void* state) void BMenu::SortItems(int (*compare)(const BMenuItem*, const BMenuItem*)) { - fItems.SortItems((int (*)(const void*, const void*))compare); + BMenuItem** begin = (BMenuItem**)fItems.Items(); + BMenuItem** end = begin + fItems.CountItems(); + + std::stable_sort(begin, end, compare); + InvalidateLayout(); if (Window() != NULL && !Window()->IsHidden() && LockLooper()) { _LayoutItems(0);