    void showEvent(QShowEvent *event) override;
    void refresh();
  
    Params params;
    QStackedWidget *stack;
    QPushButton *home_button, *work_button;
    QLabel *home_address, *work_address;
    QVBoxLayout *recent_layout;
 
</s> remove   if (!success) {
    return;
 </s> add   cur_destinations = response;
  if (isVisible()) {
    refresh(); </s> remove   stack->setCurrentIndex((uiState()->prime_type || success) ? 0 : 1);
 </s> add   if (!success) return;
  QString prev_destinations, cur_destinations;
    void showEvent(QShowEvent *event) override;
    void refresh();
  
    Params params;
  QString prev_destinations, cur_destinations;
    QStackedWidget *stack;
    QPushButton *home_button, *work_button;
    QLabel *home_address, *work_address;
    QVBoxLayout *recent_layout;
keep keep keep add keep keep keep keep
 MapPanel: refresh only when visible and destination changes (#25739)

rebuild widgets only when mappanel is visible 
selfdrive/ui/qt/maps/map_settings.h