A patch to hide disabled protocols in "Filter" and "Decode" dialogs.
diff -Nru --exclude-from=exclude ethereal-0.10.4/gtk/decode_as_dlg.c 
ethereal-0.10.4.dp/gtk/decode_as_dlg.c
--- ethereal-0.10.4/gtk/decode_as_dlg.c    2004-03-18 06:05:34.000000000 
+0200
+++ ethereal-0.10.4.dp/gtk/decode_as_dlg.c    2004-06-08 
10:00:33.000000000 +0300
@@ -1076,6 +1076,7 @@
   GtkTreeIter   iter;
   struct handle_lookup_info hli;
#endif
+    gint i;
   g_assert(user_data);
   g_assert(value);
@@ -1084,6 +1085,12 @@
   handle = value;
   proto_name = dissector_handle_get_short_name(handle);
+    i = dissector_handle_get_protocol_index(handle);
+
+    if (i >= 0 && !proto_is_protocol_enabled(find_protocol_by_id(i))) {
+        return;
+    }
+   
#if GTK_MAJOR_VERSION < 2
   row = gtk_clist_find_row_from_data(list, handle);
   /* We already have an entry for this handle.
diff -Nru --exclude-from=exclude ethereal-0.10.4/gtk/dfilter_expr_dlg.c 
ethereal-0.10.4.dp/gtk/dfilter_expr_dlg.c
--- ethereal-0.10.4/gtk/dfilter_expr_dlg.c    2004-03-18 
06:05:34.000000000 +0200
+++ ethereal-0.10.4.dp/gtk/dfilter_expr_dlg.c    2004-06-08 
10:00:11.000000000 +0300
@@ -1304,10 +1304,16 @@
   proto_array = g_hash_table_new(g_direct_hash, g_direct_equal);
   for (i = proto_get_first_protocol(&cookie); i != -1;
        i = proto_get_next_protocol(&cookie)) {
+   
       hfinfo = proto_registrar_get_nth(i);
       /* Create a node for the protocol, and remember it for
          later use. */
       protocol = find_protocol_by_id(i);
+
+        if (!proto_is_protocol_enabled(protocol)) {
+            continue;
+        }
+       
       name = proto_get_protocol_short_name(protocol); /* name, 
short_name or filter name ? */
       protocol_node = gtk_ctree_insert_node(GTK_CTREE(field_tree),
                                             NULL, NULL,
@@ -1347,6 +1353,11 @@
       if (hfinfo->same_name_prev != NULL)
           continue;
+        if (!proto_is_protocol_enabled(find_protocol_by_id(
+                        proto_registrar_get_parent(i)))) {
+            continue;
+        }
+       
       /* Create a node for the item, and put it
          under its parent protocol. */
       protocol_node = g_hash_table_lookup(proto_array,