GNOME Goal: Remove GtkObject uses

Introduction

In GTK+ 3, GtkObject has been removed. The destroy signal has been moved to GtkWidget, and non-widget classes derived from GtkObject (GtkAdjustment, GtkCellRenderer, GtkFileFilter, GtkRecentFilter) have been changed to derive from GInitiallyUnowned.

Guidelines

In most cases, it is enough to simple change calls to gtk_object_destroy() to gtk_widget_destroy(), and change GTK_OBJECT() casts to either G_OBJECT() or GTK_WIDGET(). If you have a widget class that implements destroy, you have to adjust the class_init function to set widget_class->destroy instead of gtkobject_class->destroy. In the rare case that you have a non-widget GtkObject-derived class which uses the destroy signal, you have to implement destroy yourself.

More info in the migration guide in the GTK+ documentation.

Status of this goal

/!\ Note: Updated automatical stats can be found at http://people.gnome.org/~fpeters/reports/gtkobject.html

{i} Tip: If you choose to work on a module, create the bug report on the GNOME bugzilla for the relevant module, and make it block bug 630874. This way people will know someone already works on it, and won't duplicate the work you're doing.

State

Markup

todo

<: #ff8080> todo

patch

<: #ffcc50> [[GnomeBug:xxxxx|patch]]

done

<: #80ff80> [[GnomeBug:xxxxx|done]]

not needed

<: #80ff80> not needed

Above are the states and corresponding markup to update the modules state table below.

Tarball

Status

Desktop

alacarte

not needed

brasero

done

bug-buddy

not needed

caribou

not needed

cheese

not needed

dasher

done

dconf

not needed

deskbar-applet

not needed

ekiga

done

empathy

done

eog

done

epiphany

not needed

evince

done

evolution-data-server

done

evolution

done

evolution-exchange

done

evolution-mapi

done

evolution-webcal

done

file-roller

not needed

gcalctool

not needed

gconf-editor

done

gdm

done

gedit

done

gnome-applets

done

gnome-backgrounds

not needed

gnome-bluetooth

not needed

gnome-color-manager

not needed

gnome-control-center

done

gnome-desktop

not needed

gnome-desktop-sharp

not needed

gnome-disk-utility

not needed

gnome-doc-utils

not needed

gnome-games

done

gnome-icon-theme

not needed

gnome-icon-theme-symbolic

not needed

gnome-keyring

not needed

gnome-netstatus

to do

gnome-nettool

not needed

gnome-mag

to do

gnome-media

done

gnome-menus

not needed

gnome-packagekit

done

gnome-panel

not needed

gnome-power-manager

done

gnome-python-desktop

not needed

gnome-screensaver

not needed

gnome-session

not needed

gnome-settings-daemon

done

gnome-sharp

to do

gnome-shell

done

gnome-system-monitor

to do

gnome-system-tools

done

gnome-terminal

done

gnome-themes

not needed

gnome-user-docs

not needed

gnome-user-share

not needed

gnome-utils

done

gstreamer

not needed

gst-plugins-base

not needed

gst-plugins-good

not needed

gtk-engines

not needed

gtkhtml

done

gtksourceview

done

gucharmap

done

gvfs

not needed

hamster-applet

not needed

libgnomekbd

done

libgtop

not needed

libgweather

not needed

liboobs

not needed

librsvg

not needed

libsoup

not needed

libwnck

done

metacity

patch

mousetweaks

done

mutter

done

nautilus

done

nautilus-sendto

not needed

orca

not needed

pygtksourceview

not needed

rygel

not needed

seahorse

not needed

sound-juicer

not needed

swfdec-gnome

not needed

tomboy

not needed

totem

done

totem-pl-parser

not needed

vinagre

done

vino

not needed

vte

not needed

yelp

not needed

zenity

not needed

Platform

GConf

not needed

at-spi

not needed

atk

not needed

glib

not needed

gtk+

done

gtk-doc

not needed

pango

not needed

Admin

pessulus

to do

sabayon

to do

Development Tools

accerciser

to do

anjuta

to do

devhelp

not needed

gdl

done

glade3

done

gnome-devel-docs

not needed

External Dependencies

avahi

not needed

Berkeley DB (libdb)

not needed

cairo

not needed

cairomm

not needed

clutter

not needed

clutter-cairo

not needed

clutter-gtk

not needed

conduit

not needed

dbus

not needed

dbus-glib

not needed

dbus-python

not needed

desktop-file-utils

not needed

udisks

not needed

upower

not needed

enchant

not needed

expat

not needed

farsight2

not needed

fontconfig

not needed

gamin

not needed

GMime

not needed

gnutls

not needed

gpgme

not needed

gtk-vnc

to do

hal

not needed

hicolor-icon-theme

not needed

icon-naming-utils

not needed

intltool

not needed

iso-codes

not needed

libatasmart

not needed

libcanberra

not needed

libchamplain

not needed

libcolorblind

not needed

libcroco

not needed

libgda

not needed

libgdata

not needed

libggz, ggz-client-libs

not needed

libgpg-error

not needed

libgcrypt

not needed

libgsf

not needed

libical

not needed

libmapi

not needed

libmusicbrainz

not needed

libnotify

not needed

liboil

not needed

libproxy

not needed

libtasn1

not needed

libtelepathy

not needed

libxklavier

not needed

libxml2

not needed

libxslt

not needed

Mono.Addins

not needed

mozilla (firefox)

not needed

ndesk-dbus

not needed

ndesk-dbus-glib

not needed

opal

not needed

pkg-config

not needed

PolicyKit

not needed

PolicyKit-gnome

not needed

pulseaudio

not needed

poppler

not needed

pycairo

not needed

ptlib

not needed

Python

not needed

rarian

not needed

shared-mime-info

not needed

sqlite

not needed

startup-notification

not needed

swfdec

to do

system-tools-backends

not needed

telepathy-glib

not needed

telepathy-mission-control

not needed

unique

not needed

tracker

not needed

vala

not nedeed

webkit

done

Other

abiword

to do

atomix

to do

banshee

to do

contact-lookup-applet

to do

couch-db

to do

deja-dup

to do

dia

to do

evolution-couchdb

to do

f-spot

to do

ghex

to do

giggle

to do

gimp

to do

gitg

to do

glom

to do

gnome-blog

to do

gnome-main-menu

to do

GNOME Phone Manager

to do

goocanvas

to do

goocanvasmm

to do

GParted

to do

Gnumeric

done

gtetrinet

to do

gthumb

patch

gtranslator

to do

krb5-auth-dialog

to do

libbtctl

to do

libgnomekbd

to do

libgoffice

done

libgsf

not needed

ontv

not needed

mousetrap

to do

nautilus-actions

to do

nemiver

to do

NetworkManager

not needed

network-manager-applet

not needed

pdfmod

to do

planner

to do

rhythmbox

done

simple-scan

to do

xchat-gnome

to do

Initiatives/GnomeGoals/GtkObjectRemoval (last edited 2013-12-18 13:44:53 by LuisMenina)