Hello community,

here is the log from the commit of package alsa-tools for openSUSE:Factory 
checked in at 2013-03-12 11:01:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/alsa-tools (Old)
 and      /work/SRC/openSUSE:Factory/.alsa-tools.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "alsa-tools", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/alsa-tools/alsa-tools.changes    2013-03-10 
07:46:39.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.alsa-tools.new/alsa-tools.changes       
2013-03-12 11:03:08.000000000 +0100
@@ -1,0 +2,9 @@
+Mon Mar 11 11:16:47 CET 2013 - [email protected]
+
+- Backport upstream fix patches:
+  the last one is identical with the previous fix
+  0004-hdajackretask-Fix-advanced-override-bug.patch
+  0005-hdajackretask-Some-more-UI-fixes.patch
+  0006-hda-verb-Remove-superfluous-inclusion-of-sys-io.h.patch
+
+-------------------------------------------------------------------

Old:
----
  hda-verb.patch

New:
----
  0004-hdajackretask-Fix-advanced-override-bug.patch
  0005-hdajackretask-Some-more-UI-fixes.patch
  0006-hda-verb-Remove-superfluous-inclusion-of-sys-io.h.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ alsa-tools.spec ++++++
--- /var/tmp/diff_new_pack.QynK3c/_old  2013-03-12 11:03:34.000000000 +0100
+++ /var/tmp/diff_new_pack.QynK3c/_new  2013-03-12 11:03:34.000000000 +0100
@@ -54,7 +54,9 @@
 Patch:          alsa-tools-desktop-fix.dif
 Patch1:         0001-ac3dec-Show-usage-if-no-parameter-is-passed.patch
 Patch3:         0003-Add-foreign-automake-option-to-hdajackretask-Makefil.patch
-Patch4:         hda-verb.patch
+Patch4:         0004-hdajackretask-Fix-advanced-override-bug.patch
+Patch5:         0005-hdajackretask-Some-more-UI-fixes.patch
+Patch6:         0006-hda-verb-Remove-superfluous-inclusion-of-sys-io.h.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -86,6 +88,8 @@
 %patch1 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
 %build
 export AUTOMAKE_JOBS="%{?_smp_mflags}"

++++++ 0004-hdajackretask-Fix-advanced-override-bug.patch ++++++
>From 6391a860e8caf25210c5b9e6c8f0aa0ff60aa64f Mon Sep 17 00:00:00 2001
From: David Henningsson <[email protected]>
Date: Thu, 28 Feb 2013 22:01:08 +0100
Subject: [PATCH 4/6] hdajackretask: Fix "advanced override" bug

The values were not correctly retreived from the comboboxes.

Signed-off-by: David Henningsson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
---
 hdajackretask/main-gtk.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/hdajackretask/main-gtk.c b/hdajackretask/main-gtk.c
index 65d0f3a..4227669 100644
--- a/hdajackretask/main-gtk.c
+++ b/hdajackretask/main-gtk.c
@@ -183,14 +183,14 @@ static void update_user_pin_config(ui_data_t* ui)
             continue;
 
         if (ui->free_overrides) {
-            int i;
+            int j;
             int index;
             unsigned long val = 0;
-            for (i = 0; i < FREE_OVERRIDES_COUNT; i++) {
-                index = 
gtk_combo_box_get_active(GTK_COMBO_BOX(pin_ui->jacktype));
-                if (index < 0) 
+            for (j = 0; j < FREE_OVERRIDES_COUNT; j++) {
+                index = 
gtk_combo_box_get_active(GTK_COMBO_BOX(pin_ui->free_override_cb[j]));
+                if (index < 0)
                     break;
-                val += get_free_override_list(i)[index].value;
+                val += get_free_override_list(j)[index].value;
             }
             if (index < 0)
                 continue;
-- 
1.8.1.4

++++++ 0005-hdajackretask-Some-more-UI-fixes.patch ++++++
>From c416c1180d9fd4fc6f20dcd9064d698114b14ea5 Mon Sep 17 00:00:00 2001
From: David Henningsson <[email protected]>
Date: Mon, 4 Mar 2013 15:10:48 +0100
Subject: [PATCH 5/6] hdajackretask: Some more UI fixes

 - don't overwrite a set advanced override unless necessary
 - fix "not present" never selected
 - remove some trailing whitespaces

Signed-off-by: David Henningsson <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
---
 hdajackretask/main-gtk.c          | 116 +++++++++++++++++++++++---------------
 hdajackretask/sysfs-pin-configs.c |   4 +-
 2 files changed, 71 insertions(+), 49 deletions(-)

diff --git a/hdajackretask/main-gtk.c b/hdajackretask/main-gtk.c
index 4227669..9101af4 100644
--- a/hdajackretask/main-gtk.c
+++ b/hdajackretask/main-gtk.c
@@ -5,19 +5,22 @@
 #include <string.h>
 #include <stdlib.h>
 #include <gtk/gtk.h>
+#include <stdbool.h>
 
 #include "sysfs-pin-configs.h"
 #include "apply-changes.h"
 
+typedef struct ui_data_t ui_data_t;
+
 typedef struct pin_ui_data_t {
     pin_configs_t* pin_config;
     typical_pins_t pins_info[32];
     GtkWidget *frame, *override, *jacktype;
-
     GtkWidget* free_override_cb[FREE_OVERRIDES_COUNT];
+    ui_data_t* owner;
 } pin_ui_data_t;
 
-typedef struct ui_data_t {
+struct ui_data_t {
     GList* pin_ui_data;
     GtkWidget *main_window;
     GtkWidget *content_scroll_widget;
@@ -25,22 +28,35 @@ typedef struct ui_data_t {
     GtkWidget *codec_selection_combo;
 
     codec_name_t* current_codec;
-    int sysfs_pincount; 
+    int sysfs_pincount;
     codec_name_t sysfs_codec_names[128];
     pin_configs_t sysfs_pins[32];
     gboolean free_overrides;
     gboolean trust_codec;
     gboolean trust_defcfg;
     gboolean model_auto;
-} ui_data_t;
+};
 
-static void override_toggled(GtkWidget* sender, pin_ui_data_t* data)
+static void update_user_pin_config(ui_data_t* ui, pin_configs_t* cfg);
+
+static void update_override_sensitive(GtkWidget* sender, pin_ui_data_t* data)
 {
     int i;
     gboolean checked = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sender));
     gtk_widget_set_sensitive(data->jacktype, checked); 
     for (i = 0; i < FREE_OVERRIDES_COUNT; i++)
-        gtk_widget_set_sensitive(data->free_override_cb[i], checked); 
+        gtk_widget_set_sensitive(data->free_override_cb[i], checked);
+}
+
+static void override_toggled(GtkWidget* sender, pin_ui_data_t* data)
+{
+    update_override_sensitive(sender, data);
+    update_user_pin_config(data->owner, data->pin_config);
+}
+
+static void jacktype_changed(GtkWidget* sender, pin_ui_data_t* data)
+{
+    update_user_pin_config(data->owner, data->pin_config);
 }
 
 static GtkWidget* create_pin_ui(ui_data_t* ui, pin_configs_t* pin_cfg)
@@ -56,7 +72,8 @@ static GtkWidget* create_pin_ui(ui_data_t* ui, pin_configs_t* 
pin_cfg)
 
     data = calloc(1, sizeof(pin_ui_data_t));
     data->pin_config = pin_cfg;
-    
+    data->owner = ui;
+
     { /* Frame */
         gchar* d = get_config_description(pin_cfg->init_pin_config);
         gchar* c = g_strdup_printf("Pin ID: 0x%02x", pin_cfg->nid);
@@ -93,6 +110,7 @@ static GtkWidget* create_pin_ui(ui_data_t* ui, 
pin_configs_t* pin_cfg)
         gtk_combo_box_set_active(GTK_COMBO_BOX(jacktype), index);
         gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(override), 
pin_cfg->user_override);
         g_signal_connect(override, "toggled", G_CALLBACK(override_toggled), 
data);
+        g_signal_connect(jacktype, "changed", G_CALLBACK(jacktype_changed), 
data);
 
         gtk_container_add(box, override);
         gtk_container_add(GTK_CONTAINER(jacktype_box), jacktype);
@@ -125,6 +143,7 @@ static GtkWidget* create_pin_ui(ui_data_t* ui, 
pin_configs_t* pin_cfg)
             }
             if (index >= 0)
                 
gtk_combo_box_set_active(GTK_COMBO_BOX(data->free_override_cb[i]), index);
+            g_signal_connect(data->free_override_cb[i], "changed", 
G_CALLBACK(jacktype_changed), data);
         }
 
         gtk_grid_attach(grid, gtk_label_new("Connectivity"), 0, 0, 1, 1);
@@ -148,7 +167,7 @@ static GtkWidget* create_pin_ui(ui_data_t* ui, 
pin_configs_t* pin_cfg)
         if (ui->free_overrides)
             gtk_container_add(box, GTK_WIDGET(grid));
     }
-    override_toggled(data->override, data);
+    update_override_sensitive(data->override, data);
 
     gtk_container_add(GTK_CONTAINER(result), GTK_WIDGET(box));
     ui->pin_ui_data = g_list_prepend(ui->pin_ui_data, data);
@@ -166,45 +185,48 @@ static void free_pin_ui_data(pin_ui_data_t* data)
 
 static gint pin_config_find(pin_ui_data_t* pin_ui, pin_configs_t* cfg)
 {
-    return pin_ui->pin_config == cfg ? 0 : 1; 
+    return pin_ui->pin_config == cfg ? 0 : 1;
 }
 
-static void update_user_pin_config(ui_data_t* ui)
+static void update_user_pin_config(ui_data_t* ui, pin_configs_t* cfg)
 {
-    int i;
-    for (i = 0; i < ui->sysfs_pincount; i++) {
-        pin_ui_data_t* pin_ui;
-        GList *pos = g_list_find_custom(ui->pin_ui_data, &ui->sysfs_pins[i], 
(GCompareFunc) pin_config_find);
-        ui->sysfs_pins[i].user_override = FALSE;
-        if (!pos)
-            continue;
-        pin_ui = pos->data;
-        if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pin_ui->override)))
-            continue;
+    pin_ui_data_t* pin_ui;
+    GList *pos = g_list_find_custom(ui->pin_ui_data, cfg, (GCompareFunc) 
pin_config_find);
+    cfg->user_override = FALSE;
+    if (!pos)
+        return;
+    pin_ui = pos->data;
+    if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(pin_ui->override)))
+        return;
 
-        if (ui->free_overrides) {
-            int j;
-            int index;
-            unsigned long val = 0;
-            for (j = 0; j < FREE_OVERRIDES_COUNT; j++) {
-                index = 
gtk_combo_box_get_active(GTK_COMBO_BOX(pin_ui->free_override_cb[j]));
-                if (index < 0)
-                    break;
-                val += get_free_override_list(j)[index].value;
-            }
+    if (ui->free_overrides) {
+        int j;
+        int index;
+        unsigned long val = 0;
+        for (j = 0; j < FREE_OVERRIDES_COUNT; j++) {
+            index = 
gtk_combo_box_get_active(GTK_COMBO_BOX(pin_ui->free_override_cb[j]));
             if (index < 0)
-                continue;
-            ui->sysfs_pins[i].user_pin_config = val;
-        } else {
-            int index;
-            index = gtk_combo_box_get_active(GTK_COMBO_BOX(pin_ui->jacktype));
-            if (index < 0)
-                continue;
-            ui->sysfs_pins[i].user_pin_config = 
pin_ui->pins_info[index].pin_set;
+                break;
+            val += get_free_override_list(j)[index].value;
         }
-        ui->sysfs_pins[i].user_override = TRUE;
+        if (index < 0)
+            return;
+        cfg->user_pin_config = val;
+    } else {
+        int index;
+        index = gtk_combo_box_get_active(GTK_COMBO_BOX(pin_ui->jacktype));
+        if (index < 0)
+            return;
+        cfg->user_pin_config = pin_ui->pins_info[index].pin_set;
     }
+    cfg->user_override = TRUE;
+}
 
+static void update_all_user_pin_config(ui_data_t* ui)
+{
+    int i;
+    for (i = 0; i < ui->sysfs_pincount; i++)
+        update_user_pin_config(ui, &ui->sysfs_pins[i]);
 }
 
 static gboolean validate_user_pin_config(ui_data_t* ui, GError** err)
@@ -215,7 +237,7 @@ static gboolean validate_user_pin_config(ui_data_t* ui, 
GError** err)
         g_set_error(err, 0, 0, "You must first select a codec!");
         return FALSE;
     }
-    update_user_pin_config(ui);
+    update_all_user_pin_config(ui);
     if (ui->free_overrides)
         return TRUE;
 
@@ -325,7 +347,7 @@ static void resize_main_window(ui_data_t* ui)
     }
 }
 
-static void update_codec_ui(ui_data_t* ui) 
+static void update_codec_ui(ui_data_t* ui, bool codec_change)
 {
     int codec_index = 
gtk_combo_box_get_active(GTK_COMBO_BOX(ui->codec_selection_combo));
     int i;
@@ -337,7 +359,8 @@ static void update_codec_ui(ui_data_t* ui)
     if (codec_index < 0)
         return;
     ui->current_codec = &ui->sysfs_codec_names[codec_index];
-    ui->sysfs_pincount = get_pin_configs_list(ui->sysfs_pins, 32, 
ui->current_codec->card, ui->current_codec->device);
+    if (codec_change)
+        ui->sysfs_pincount = get_pin_configs_list(ui->sysfs_pins, 32, 
ui->current_codec->card, ui->current_codec->device);
     for (i = 0; i < ui->sysfs_pincount; i++) {
         GtkWidget *w = create_pin_ui(ui, &ui->sysfs_pins[i]);
         if (w)
@@ -350,14 +373,14 @@ static void update_codec_ui(ui_data_t* ui)
 
 static void codec_selected(GtkComboBox* combo, gpointer user_data) 
 {
-    update_codec_ui(user_data);
+    update_codec_ui(user_data, true);
 }
 
 static void showallpins_toggled(GtkWidget* sender, ui_data_t* ui_data)
 {
     gboolean checked = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sender));
     ui_data->trust_defcfg = !checked;
-    update_codec_ui(ui_data);
+    update_codec_ui(ui_data, false);
 }
 
 static void automodel_toggled(GtkWidget* sender, ui_data_t* ui_data)
@@ -367,9 +390,8 @@ static void automodel_toggled(GtkWidget* sender, ui_data_t* 
ui_data)
 
 static void free_override_toggled(GtkWidget* sender, ui_data_t* ui_data)
 {
-    update_user_pin_config(ui_data);
     ui_data->free_overrides = 
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(sender));
-    update_codec_ui(ui_data);
+    update_codec_ui(ui_data, false);
 }
 
 static const char* readme_text = 
@@ -517,7 +539,7 @@ int main(int argc, char *argv[])
     ui = create_ui();
     gtk_widget_show_all(ui->main_window);
     if (ui->codec_selection_combo)
-        update_codec_ui(ui);
+        update_codec_ui(ui, true);
     gtk_main();
     return 0;
 }
diff --git a/hdajackretask/sysfs-pin-configs.c 
b/hdajackretask/sysfs-pin-configs.c
index cd2897e..4044989 100644
--- a/hdajackretask/sysfs-pin-configs.c
+++ b/hdajackretask/sysfs-pin-configs.c
@@ -460,7 +460,7 @@ static free_override_t channel_arr[] = {
 
 
 static free_override_t* type_order[FREE_OVERRIDES_COUNT] = {
-    pc_arr, location_arr, device_arr, jack_arr, 
+    pc_arr, location_arr, device_arr, jack_arr,
     color_arr, no_presence_arr, group_nr_arr, channel_arr
 };
 
@@ -472,7 +472,7 @@ unsigned long get_free_override_mask(int type)
         AC_DEFCFG_DEVICE,
         AC_DEFCFG_CONN_TYPE,
         AC_DEFCFG_COLOR,
-        AC_DEFCFG_MISC & 1,
+        AC_DEFCFG_MISC & (AC_DEFCFG_MISC_NO_PRESENCE << AC_DEFCFG_MISC_SHIFT),
         AC_DEFCFG_DEF_ASSOC,
         AC_DEFCFG_SEQUENCE,
     };
-- 
1.8.1.4

++++++ 0006-hda-verb-Remove-superfluous-inclusion-of-sys-io.h.patch ++++++
>From a89c692cdc6614e73dd3ca636525eb9723fc7032 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Mon, 11 Mar 2013 11:14:51 +0100
Subject: [PATCH 6/6] hda-verb: Remove superfluous inclusion of sys/io.h

Signed-off-by: Takashi Iwai <[email protected]>
---
 hda-verb/hda-verb.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/hda-verb/hda-verb.c b/hda-verb/hda-verb.c
index bd746ad..95a935a 100644
--- a/hda-verb/hda-verb.c
+++ b/hda-verb/hda-verb.c
@@ -13,9 +13,6 @@
 #include <ctype.h>
 #include <unistd.h>
 #include <sys/ioctl.h>
-#ifndef __PPC__
-#include <sys/io.h>
-#endif
 #include <sys/types.h>
 #include <sys/fcntl.h>
 
-- 
1.8.1.4



-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to