adding interfaces to stable libraries


gnome_dialog_grab_focus() was added to stable libgnomeui in January. 

I got two bug reports just this morning about people trying to
use/build the RPMs for newer gdm on 7.1. But now they have to upgrade
their ENTIRE SYSTEM because somebody couldn't work around this TRIVIAL
problem and had to instead break forward compat on the library.

Furthermore I have to go through and BuildRequires/Requires some
random version of libgnomeui (I don't know which) for every single
package. What was the first gnome-libs release containing this

So this is a huge waste of my time, and a big inconvenience for users.

For what gain? Let's look at this trivial function which just HAD to
be added:

    gnome_dialog_grab_focus (GnomeDialog *dialog, gint button)
      GList *list;

      g_return_if_fail(dialog != NULL);

      list = g_list_nth (dialog->buttons, button);

      if (list && list->data){
        gtk_widget_grab_focus (GTK_WIDGET (list->data));
      /* If we didn't find the button, complain */
      g_warning("Button number %d does not appear to exist\n", button); 

Would it have killed us to cut-and-paste this in a couple places????
Especially since GnomeDialog is deprecated anyhow?

It causes users and packages a bunch of pointless hassle to add
interfaces to stable. So if you're going to do it, you should damn
well have a better reason than a trivial 5-line function!

We are also now in a situation where an ISV can randomly require a
shiny new Red Hat, when their app could easily have worked on 7.1.  I
guess this sells more box sets for us, but other than that it just

I thought we had gone over the reasons why it was a Bad Idea to add
interfaces over and over and over. But even if you still disagree, at
least have a freaking good reason...


I don't care to discuss at length - just please consider whether it is
worth it to cause everyone a bunch of hassle in order to avoid
cut-and-pasting a trivial 5-line function, and let's avoid this mess
in the future.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]