| 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();
|
| }
|
|
|