Index: chrome/browser/gtk/translate/before_translate_infobar_gtk.cc |
=================================================================== |
--- chrome/browser/gtk/translate/before_translate_infobar_gtk.cc (revision 65711) |
+++ chrome/browser/gtk/translate/before_translate_infobar_gtk.cc (working copy) |
@@ -31,9 +31,10 @@ |
gtk_box_pack_start(GTK_BOX(hbox), |
CreateLabel(UTF16ToUTF8(text.substr(0, offset))), |
FALSE, FALSE, 0); |
+ TranslateInfoBarDelegate* delegate = GetDelegate(); |
GtkWidget* combobox = |
- CreateLanguageCombobox(GetDelegate()->original_language_index(), |
- GetDelegate()->target_language_index()); |
+ CreateLanguageCombobox(delegate->original_language_index(), |
+ delegate->target_language_index()); |
g_signal_connect(combobox, "changed", |
G_CALLBACK(&OnLanguageModifiedThunk), this); |
gtk_box_pack_start(GTK_BOX(hbox), combobox, FALSE, FALSE, 0); |
@@ -51,7 +52,6 @@ |
g_signal_connect(button, "clicked",G_CALLBACK(&OnDenyPressedThunk), this); |
gtk_box_pack_start(GTK_BOX(hbox), button, FALSE, FALSE, 0); |
- TranslateInfoBarDelegate* delegate = GetDelegate(); |
if (delegate->ShouldShowNeverTranslateButton()) { |
std::string label = |
l10n_util::GetStringFUTF8(IDS_TRANSLATE_INFOBAR_NEVER_TRANSLATE, |
@@ -76,6 +76,9 @@ |
} |
void BeforeTranslateInfoBar::OnLanguageModified(GtkWidget* sender) { |
+ if (!delegate()) |
+ return; |
+ |
int index = GetLanguageComboboxActiveId(GTK_COMBO_BOX(sender)); |
if (index == GetDelegate()->original_language_index()) |
return; |
@@ -84,18 +87,22 @@ |
} |
void BeforeTranslateInfoBar::OnAcceptPressed(GtkWidget* sender) { |
- GetDelegate()->Translate(); |
+ if (delegate()) |
+ GetDelegate()->Translate(); |
} |
void BeforeTranslateInfoBar::OnDenyPressed(GtkWidget* sender) { |
- GetDelegate()->TranslationDeclined(); |
+ if (delegate()) |
+ GetDelegate()->TranslationDeclined(); |
RemoveInfoBar(); |
} |
void BeforeTranslateInfoBar::OnNeverTranslatePressed(GtkWidget* sender) { |
- GetDelegate()->NeverTranslatePageLanguage(); |
+ if (delegate()) |
+ GetDelegate()->NeverTranslatePageLanguage(); |
} |
void BeforeTranslateInfoBar::OnAlwaysTranslatePressed(GtkWidget* sender) { |
- GetDelegate()->AlwaysTranslatePageLanguage(); |
+ if (delegate()) |
+ GetDelegate()->AlwaysTranslatePageLanguage(); |
} |