diff --git a/xpinstall/wizard/unix/src2/nsComponentsDlg.cpp b/xpinstall/wizard/unix/src2/nsComponentsDlg.cpp index de4e5419070a..b9a653697c0d 100644 --- a/xpinstall/wizard/unix/src2/nsComponentsDlg.cpp +++ b/xpinstall/wizard/unix/src2/nsComponentsDlg.cpp @@ -481,7 +481,7 @@ nsComponentsDlg::RowSelected(GtkWidget *aWidget, gint aRow, gint aColumn, if (aColumn == -1 && !aEvent) return; - ToggleRowSelection(aWidget, aRow); + ToggleRowSelection(aWidget, aRow, aColumn); } void @@ -491,11 +491,12 @@ nsComponentsDlg::KeyPressed(GtkWidget *aWidget, GdkEventKey *aEvent, DUMP("KeyPressed"); if (aEvent->keyval == GDK_space) - ToggleRowSelection(aWidget, sCurrRowSelected); + ToggleRowSelection(aWidget, sCurrRowSelected, 0); } void -nsComponentsDlg::ToggleRowSelection(GtkWidget *aWidget, gint aRow) +nsComponentsDlg::ToggleRowSelection(GtkWidget *aWidget, gint aRow, + gint aColumn) { int numRows = 0, currRow = 0; GtkStyle *style = NULL; @@ -523,6 +524,10 @@ nsComponentsDlg::ToggleRowSelection(GtkWidget *aWidget, gint aRow) currComp->GetDescLong()); gtk_widget_show(sDescLong); + // don't toggle checkbox for clicks on component text + if (aColumn != 0) + break; + if (currComp->IsSelected()) { DUMP("Toggling off..."); diff --git a/xpinstall/wizard/unix/src2/nsComponentsDlg.h b/xpinstall/wizard/unix/src2/nsComponentsDlg.h index fcd76d6bd626..cb098b6763d8 100644 --- a/xpinstall/wizard/unix/src2/nsComponentsDlg.h +++ b/xpinstall/wizard/unix/src2/nsComponentsDlg.h @@ -49,10 +49,11 @@ public: int Hide(int aDirection); static void RowSelected(GtkWidget *aWidget, gint aRow, gint aColumn, - GdkEventButton *aEvent, gpointer aData); + GdkEventButton *aEvent, gpointer aData); static void KeyPressed(GtkWidget *aWidget, GdkEventKey *aEvent, gpointer aData); - static void ToggleRowSelection(GtkWidget *aEvent, gint aRow); + static void ToggleRowSelection(GtkWidget *aEvent, gint aRow, + gint aColumn); /*--------------------------------------------------------------------* * INI Properties