-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog.pre-2-6
3474 lines (2410 loc) · 115 KB
/
ChangeLog.pre-2-6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2005-05-09 Johan Dahlin <[email protected]>
* configure.in: Post release version bump
=== PyGTK 2.6.2 ===
2005-05-09 Johan Dahlin <[email protected]>
* gobject/pygenum.c (pyg_enum_new): Complain if ret is NULL,
Fixes #303524.
* gobject/pygflags.c (pyg_flags_new): Change exception format to
be consistent with the one in enum
* gtk/gtk.override: Allow None to be passed in to:
set_group for RadioAction.set_group(), RadioToolButton.set_group()
and RadioMenuItem.set_group(). Fixes #170514
* tests/test_radiobutton.py: Refactor and add unittests for
RadioAction, RadioToolButton and RadioMenuItem.
2005-05-09 Mark McLoughlin <[email protected]>
Fix for bug #303573 - "exceptions raised in a child watch
handler are silently swallowed"
* gobject/gobjectmodule.c:
(child_watch_func),
(_pyg_spawn_async_callback): if PyObject_CallFunction()
returns NULL, print a traceback of the exception.
* tests/test_mainloop.py: add testcase.
* tests/Makefile.am: add test_mainloop.py
Reviewed by Johan Dahlin <[email protected]>
2005-05-03 Gustavo J. A. M. Carneiro <[email protected]>
* gtk/gdk.override (_wrap_gdk_event_tp_setattr): Fix setter for
"window" attribute: don't unblock threads around g_bject_ref;
g_object_unref previous event.window. Fixes #302622.
* tests/Makefile.am (tests): Add test_gdkevent.py.
* tests/test_gdkevent.py: Add a test for gtk.gdk.Event.window setter.
2005-04-12 Gustavo J. A. M. Carneiro <[email protected]>
* tests/runtests.py (program): Fix indentation and a "name
'program' is not defined" exception.
* codegen/argtypes.py: Treat guint and gsize as python longs, with
appropriate parameter conversion formats and return conversion
functions. Also treat gssize as long long on LLP64 architectures
(thanks jamesh). Correctly parse "long" parameters on LP64
architectures. Fixes #300012: "Handling of guint, gsize, gssize,
and glong in pygtk is broken".
2005-03-27 John Finlay <[email protected]>
* gtk/gtk.override (_wrap_gtk_dialog_set_alternative_button_order):
Really check in the code. Fixes #171771 (Manish Singh)
2005-03-20 Johan Dahlin <[email protected]>
* gtk/gtktreeview.override (_wrap_gtk_list_store_insert):
Regression, allow the second argument to be unspecified, fixes
#171027 (Ulrik Svensson)
* tests/test_liststore.py: Add 2 new tests
2005-03-17 Johan Dahlin <[email protected]>
* gtk/gtkmodule.c (init_gtk): Regression, don't crash if sys.argv
isn't set.
2005-03-16 Johan Dahlin <[email protected]>
* tests/test_radiobutton.py (RadioButtonTest): New test.
* tests: Renamed *.py to test_*.py
* gtk/gtk.override: Allow argument to RadioButtion.set_radio_group
to be empty, fixes #170514 (Lorenzo Gil Sanchez)
2005-03-15 Johan Dahlin <[email protected]>
* configure.in: Post release version bump
=== PyGTK 2.6.1 ===
2005-03-15 Johan Dahlin <[email protected]>
* codegen/codegen.py: Check arguments if we have no arguments.
Fixes bug #170266 (Doug Quale)
* gtk/gdk.override:
* gtk/gtktreeview.override: gcc4 patches stolen from redhat
* NEWS: Updated
2005-03-14 Anders Carlsson <[email protected]>
* codegen/reversewrapper.py:
Remove an extra * in the declaration and cast of GObject
types.
2005-03-14 Johan Dahlin <[email protected]>
* gobject/pygparamspec.c (pyg_param_spec_getattr): In case the
enum is not registered, set enum_class or flag_class to None
2005-03-13 Johan Dahlin <[email protected]>
* gtk/gtktreeview.override (_wrap_gtk_tree_store_reorder): Ditto
2005-03-13 Richard Hult <[email protected]>
* gtk/gtktreeview.override (_wrap_gtk_list_store_reorder): You
don't own a ref on the return value from PyList_GetItem so don't
decrease the ref count.
2005-03-10 Johan Dahlin <[email protected]>
* gtk/gtktreeview.override:
(_wrap_gtk_list_store_insert): Use
gtk_list_store_insert_with_valuesv, improves performance
when using a sorted list.
* configure.in: Post release version bump
=== PyGTK 2.6.0 ===
2005-03-07 Johan Dahlin <[email protected]>
* README: Remove ftp.gtk.org url
* NEWS: Updated.
2005-03-04 Manish Singh <[email protected]>
* configure.in: document micro_version as micro version.
* gtk/gtktreeview.override
* gtk/libglade.override: get rid of a couple unnecessary G_OBJECT()
casts.
2005-02-23 Cedric Gustin <[email protected]>
* gobject/pygtype.c (add_property_docs): Use G_CONST_RETURN with a
gchar* return value.
2005-02-23 Johan Dahlin <[email protected]>
* configure.in: post release version bump
* examples: Don't use gtk.TRUE/gtk.FALSE anymore.
=== PyGTK 2.5.4 ===
2005-02-23 Johan Dahlin <[email protected]>
* README, NEWS: Update
2005-02-23 Cedric Gustin <[email protected]>
* setup.py: Move the install_template call for pygobject-2.0.pc.in
to the right place in the script. Also define PLATFORM_WIN32 on
win32. Fixes bug #150616.
* codegen/codegen.py: Do not write the 'pygtk class init' function
for objects whose type is explicitly ignored (like GtkPlug and
GtkSocket on win32). Otherwise, it generates glib-warnings related
to calls to g_object_set_qdata with a NULL 'node'.
* gobject/pygtype.c: Do not use g_string_append_printf with a NULL
argument, as it crashes on win32. Fixes bug #166546.
* gtk/gtk.override: Add GtkSocket__proxy_do_plug_added,
GtkSocket__proxy_do_plug_removed and GtkPlug__proxy_do_embedded to
the ignore-win32 list.
2005-02-15 Johan Dahlin <[email protected]>
* gtk/__init__.py: Deprecate gtk.TRUE and gtk.FALSE
2005-02-17 Gustavo J. A. M. Carneiro <[email protected]>
* examples/pygtk-demo/pygtk-demo.in: New, frontend script to
launch pygtk demo.
* examples/Makefile.am: Install the pygtk demo.
* examples/pygtk-demo/demos/appwindow.py
(ApplicationMainWindowDemo.activate_about)
(ApplicationMainWindowDemo.__create_action_group): Popup a simple
AboutDialog on Help->About.
2005-02-15 Johan Dahlin <[email protected]>
* configure.in: Fix logic when displaying modules not built,
Thanks to Abel Daniel for pointing out.
* gtk/gtk.defs: Undeprecate gtk.icon_size_get_name and
gtk.icon_size_lookup and remove broken methods.
2005-02-13 Gustavo J. A. M. Carneiro <[email protected]>
* gtk/gtk.defs: Reorder all the (define-virtual...) declarations,
putting them right after the method declarations of the respective
objects.
2005-02-10 Mark McLoughlin <[email protected]>
* gobject/pygmainloop.c: (pyg_restore_current_main_loop):
don't pass a NULL value to PyThread_set_key_value() - causes
an assertion failure with python 2.4.
2005-02-09 Mark McLoughlin <[email protected]>
Fix for bug #154779 - Python signal handlers don't
get executed while you're sitting in the main loop.
* gobject/pygmainloop.c:
(pyg_save_current_main_loop),
(pyg_restore_current_main_loop),
(pyg_get_current_main_loop): functions for keeping
track of the currently running main loop. A version
using TLS and another using a global variable, depending
on whether DISABLE_THREADING is defined
(pyg_signal_watch_prepare), (pyg_signal_watch_check),
(pyg_signal_watch_dispatch), (pyg_signal_watch_new):
a GSource which runs the python signal handlers whenever
the mainloop is interrupted by signal delivery.
(pyg_main_loop_new), (pyg_main_loop_dealloc): add and
remove the source.
(_wrap_g_main_loop_run): push/pop the currently running
main loop.
* gobject/pygobject-private.h: add a pointer for the
source to PyGMainLoop.
* gobject/Makefile.am: add -DPLATFORM_WIN32 to cflags
if building on Windows.
2005-01-10 Johan Dahlin <[email protected]>
* configure.in: post release version bump
=== PyGTK 2.5.3 ===
2005-01-22 Gustavo J. A. M. Carneiro <[email protected]>
* gtk/gtkmodule.c (init_gtk): Do some type checking on sys.argv
before using it. Fixes #163209.
* gtk/gdk.override: Override slots tp_getattro and tp_setattro of
GdkGC instead of tp_setattr and tp_getattr. Fixes #159468.
* codegen/codegen.py: Allow override of tp_getattro and
tp_setattro (non-deprecated variants of tp_getattr and
tp_setattr).
* gobject/pygflags.c (pyg_flags_new): Check that __gtype__ is
PyGTypeWrapper_Type, not PyGEnum_Type.
(pyg_flags_add): Set a custom __gtype__ for the new flags class.
(pyg_flags_new): Remove "value out of range" check, it makes no
sense in flags.
(pyg_flags_new): Check for NULL return from PyDict_GetItem and set
exception.
* gobject/pygenum.c (pyg_enum_add): Set a custom __gtype__ for the
new enum class.
(pyg_enum_new): Check that __gtype__ is PyGTypeWrapper_Type, not
PyGEnum_Type.
* gobject/pygflags.c (pyg_flags_add): Idem.
* gobject/pygenum.c (pyg_enum_add): Unset the flag
Py_TPFLAGS_BASETYPE in newly created enum type. Set tp_new, which
somehow was not being inherited.
Fixes #154372.
2005-01-22 Mark McLoughlin <[email protected]>
* gobject/gobjectmodule.c (pyg_type_register): Fix reference leak
to the module string; Appends the serial number to the type name,
even if the module name can't be looked up. Fixes #164441.
2005-01-18 Gustavo J. A. M. Carneiro <[email protected]>
* codegen/reversewrapper.py (IntParam.convert_c2py): Don't bother
checking if PyInt_FromLong fails.
(DoubleParam.convert_c2py): Don't bother checking if
PyFloat_FromDouble fails.
(DoubleReturn.write_conversion): Check return value type.
(IntReturn.write_conversion): idem.
(StringReturn.write_conversion): idem.
(VoidReturn.write_conversion): idem.
* gtk/gtkmodule.c (init_gtk): On Python >= 2.4, don't call
setlocale(LC_NUMERIC, "C"), as it breaks the locale module. Fixes
#164451.
2005-01-16 Gustavo J. A. M. Carneiro <[email protected]>
* gobject/gobjectmodule.c (pyg_type_register): Use tp_base field
of each base type to compare with PyGInterface_Type, instead of
PyObject_IsSubclass, because we don't want a class defined as
class Foo(GObject, SomeInterface) to be itself considered an
interface when in turn it is subclassed.
(pyg_type_register): Make "Interface type %s has no python
implementation support" a warning instead of exception. This
really isn't a fatal error and some programs seem to be using
interfaces in weird ways.
* codegen/reversewrapper.py (ReverseWrapper.generate): Rename
variable PyGILState_STATE state to __py_state to avoid possible
name collision with function parameters.
2005-01-13 John Finlay <[email protected]>
* gtk/gdk.override (_wrap_gdk_pixmap_colormap_create_from_xpm)
(_wrap_gdk_pixmap_create_from_xpm_d)
(_wrap_gdk_pixmap_colormap_create_from_xpm_d): Allow first arg
to be a GdkDrawable. #159282
2005-01-13 Johan Dahlin <[email protected]>
* gtk/Makefile.am: Allow it to be built using automake 1.8. Fixes
bug 163932
* codegen/codegen.py: Only declare the object when it's needed.
Fixes some more compiler warnings.
2005-01-10 Gustavo J. A. M. Carneiro <[email protected]>
* codegen/codegen.py (Wrapper.write_virtuals): Don't raise
exception if a do_xxx method is defined and the corresponding
virtual is not supported, since we may have a signal with the same
name and the user may be trying to override it.
Fixes #163606: override size_allocate doesn't work.
* gobject/pygobject.h, gobject/pygobject-private.h: Revert change
from 2005-01-09 by me to define pyg_threads_enabled as
PyEval_ThreadsInitialized() on Python 2.4 and define
pyg_begin|end_allow_threads as Py_BEGIN|END_ALLOW_THREADS. Fixes
#163612: segmentation fault on pygtk-demo.
2005-01-10 Johan Dahlin <[email protected]>
* configure.in: post release version bump
* docs/random/release-checklist:
Update
=== PyGTK 2.5.2 ===
2005-01-10 Johan Dahlin <[email protected]>
* autogen.sh: Check for automake-1.9 aswell, fixes 162396
(Raphael Kubo da Costa)
2005-01-10 Johan Dahlin <[email protected]>
* .cvsignore:
* Makefile.am:
* configure.in:
* gtk/Makefile.am:
* pygtk-2.0.pc.in:
* setup.py:
* tests/common.py:
* tests/testhelpermodule.c: Make the build of
atk, pango and gtk conditional. Fixes bug #74144.
2005-01-10 Johan Dahlin <[email protected]>
* tests/Makefile.am:
* tests/common.py:
* tests/runtests.py:
* tests/test_thread.py: Make testsuite work and do things
the way they were supposed to be done from the beginning.
2005-01-10 Gustavo J. A. M. Carneiro <[email protected]>
* gtk/gtk.override
(_wrap_GtkCellLayout__proxy_do_set_cell_data_func): Implement
proxy function for virtual 'set_cell_data_func' of interface
GtkCellLayout.
2005-01-09 Gustavo J. A. M. Carneiro <[email protected]>
* gobject/pygtype.c (pyg_value_from_pyobject): Handle conversion
of python sequence to G_TYPE_VALUE_ARRAY GValue.
(pyg_param_gvalue_from_pyobject): idem.
Patch by [email protected]; Fixes #160452.
* gtk/gdk.override (_wrap_gdk_pixmap_create_from_xpm):
Accept GdkDrawable instead of GdkWindow as first argument. Fixes
#159282.
2005-01-09 Tim Evans <[email protected]>
* gtk/gtk.defs (gtk_get_current_event): Add (caller-owns-return #t).
* gtk/gtk.override (_wrap_gtk_get_current_event_state): Impl.
Reviewed by Gustavo Carneiro. Fixes #159397.
2005-01-09 Gustavo J. A. M. Carneiro <[email protected]>
* gobject/pygtype.c (pyg_value_from_pyobject): Be consistent about
not raising an exception on error return.
Patch by [email protected], fixes #160595.
* tests/Makefile.am (tests): Add test_subprocess.py.
* tests/test_subprocess.py: Unit test for gobject.spawn_async and
gobject.child_watch_add.
* gobject/gobjectmodule.c (pyg_spawn_async): Add wrapper for
g_spawn_async_with_pipes.
(pyg_child_watch_add): Add wrapper for g_child_watch_add_full.
* gobject/pygobject.h, gobject/pygobject-private.h: Define
pyg_threads_enabled as PyEval_ThreadsInitialized() on Python 2.4,
so that it is no longer required to call gobject.threads_init on
that platform. Also define pyg_begin|end_allow_threads as
Py_BEGIN|END_ALLOW_THREADS, since these functions are rarely
invoked, thus represent a minimal overhead.
* gobject/gobjectmodule.c (pyg_type_register): Return the type
being registered, to make gobject.type_register usable as Python
2.4 @decorator.
* codegen/codegen.py (Wrapper.write_constructor): Move writing of
pygobject_no_constuctor to the new methods
write_default_constructor (when no constructor is declared in the
.defs) and write_noconstructor (when a constructor is declared but
could not be generated).
(GObjectWrapper.write_default_constructor): Override to return
'0'. This makes the constructor for GObjects become
GObject.__init__ by default, unless there is a constructor
function in the .defs and it could not be generated for some
reason.
* gtk/pygtkcellrenderer.c (pygtk_generic_cell_renderer_new):
Deprecate GtkGenericCellRenderer, since all virtual methods of
GtkCellRenderer are now supported.
* gtk/gtk.override (_wrap_GtkCellRenderer__proxy_do_get_size):
Override, implementation copied from PyGtkGenericCellRenderer,
with minor adjustments/fixes.
2005-01-09 Gustavo J. A. M. Carneiro <[email protected]>
* gobject/gobjectmodule.c (pyg_type_register): Look for
GInterface's among tb_bases and register implementation support
for them.
(pyg_register_interface_info): Add. Registers a GInterfaceInfo*
containing python proxy implementation with a GInterface GType.
* gobject/pygobject.h (pyg_register_interface_info): Add.
* gtk/gtk-types.defs (Editable): Add (vtable "GtkEditableClass"),
because the GtkEditable vtable structure name is GtkEditableClass
instead of GtkEditableIface.
* codegen/definitions.py (InterfaceDef.__init__): Add/parse vtable
attribute, to contain the C structure name of the virtual table of
an interface. If not given, the vtable name defaults to (c_name +
"Iface"). Add attribute interface_info, to hold the
GInterfaceInfo variable for the interface.
* codegen/reversewrapper.py (GEnumReturn.write_conversion): Add
missing code=None parameter.
(GFlagsReturn.write_conversion): idem.
* codegen/codegen.py: Add global iproxies_coverage to track
coverage statistics of interface proxies.
(Wrapper.write_methods): Split out writing virtual method
accessors to a separate method (write_virtual_accessors).
(GInterfaceWrapper.write_virtual_accessors): Override to disable
writing virtual accessors for interfaces.
(GInterfaceWrapper.write_virtuals): Override to generate interface
virtuals, interface_init function, and interface_info structure.
(write_registers): Call pyg_register_interface_info for interfaces
with some implementation support.
* gtk/gtk.defs: Add (define-virtual ...) declarations for all
interface virtual methods in gtk.
Fixes #154974: Interface implementation support.
2005-01-09 Gustavo J. A. M. Carneiro <[email protected]>
* codegen/reversewrapper.py (GBoxedParam.convert_c2py): When the C
type begins with const, force python wrapper to create a copy of
the boxed value, and typecast to avoid const warning.
* codegen/codegen.py (Wrapper.write_virtuals): In the generated
class_init function, don't declare the variable 'klass' if it is
not needed.
2005-01-08 Adam Hooper <[email protected]>
* tests/test_actiongroup.py:
Add test script for bug #162874.
2005-01-08 Adam Hooper <[email protected]>
reviewed by: Johan Dahlin <[email protected]>
* gtk/gtk.override: Py_DECREF action in
gtk_action_group_add_*actions. This should disconnect all the
groups from the callbacks when destroyed. Fixes bug 162874
2005-01-08 Johan Dahlin <[email protected]>
* Makefile.am: Add pygtk_postinstall.py
* docs/random/missing-symbols: Updated
* gtk/__init__.py: Deprecate gtk.idle_add and friends.
* gtk/gtk.defs: Merge in 2.6 api, for GtkLabel functions,
thanks to Gian Mario Tagliaretti, fixes bug #163296
* tests/test_thread.py: Don't use gtk.idle_add
2005-01-08 Gustavo J. A. M. Carneiro <[email protected]>
* codegen/reversewrapper.py (GFlagsReturn, GFlagsParam): Add type
handlers for GFlags in reverse wrappers.
(GtkTreePathParam): Add type handler for GtkTreePath* param.
2005-01-08 Gustavo J. A. M. Carneiro <[email protected]>
* gtk/gtk.override: Declare PyGdkDevice_Type, now needed for some
virtual method.
* gtk/gtk.defs: Add a bunch of virtual method declarations for all
non-deprecated gtk widgets.
* gobject/pygobject.h: Add pyg_register_class_init to the API
vtable and as macro, and PyGClassInitFunc typedef.
* gobject/gobjectmodule.c (initgobject): Create
pygobject_class_init_key, a GQuark that indentifiers the
class_init data for a GType class.
(pyg_register_class_init): Add, registers a class intialization
function of type "int (*PyGClassInitFunc) (gpointer gclass,
PyTypeObject *pyclass);"
(pyg_run_class_init): Add, runs a stack of class initialization
functions for a newly registered GObject class.
(pyg_type_register): Call pyg_run_class_init right after the type
is registered.
Add pyg_register_class_init to pygobject_api_functions.
* codegen/scanvirtuals.py: An utility script to scan for virtual
methods in header files. At the moment it is not very intelligent
and doesn't distinguish between virtual methods and interface
definitions.
* codegen/defsparser.py (DefsParser.__init__): Initialize
attribute 'virtuals', to hold list of object's virtual methods.
(DefsParser.define_virtual): Adds a new virtual method.
(DefsParser.find_virtuals): Returns list of virtual methods of an
object.
* codegen/definitions.py (ObjectDef.__init__): Add a
class_init_func member variable. Rename class MethodDef to
MethodDefBase, subclass MethodDefBase as MethodDef, move code that
checks for presence of 'c_name' from MethodDefBase into MethodDef.
(MethodDefBase.write_defs): Rename to _write_defs, and don't write
the initial "(define-method ...".
(MethodDef.write_defs): Write the "(define-method ..." here, then
call _write_defs to write the remaining.
(VirtualDef): New class to information of an object's virtual
method. It inherits from MethodBaseDef.
* codegen/codegen.py: Add class Coverage, to track and display
coverage statistics. Add globals functions_coverage,
methods_coverage, vproxies_coverage, and vaccessors_coverage.
(Wrapper.virtual_accessor_tmpl): Add template for virtual method
"accessor", which is a classmethod that calls a GObject virtual
method for GType corresponding to the class of the method. This
is used in virtual method implementations for chaining to parent
classes.
(Wrapper.write_class): Call self.write_virtuals() in the end, to
write virtual method proxies.
(Wrapper.write_function_wrapper): Don't overwrite
subsdict['cname'] if it already has a value, since we need to pass
a different function name when generating virtual method
accessors.
(Wrapper.write_methods): Update coverage statistics in
methods_coverage.
(Wrapper.write_methods): Generate virtual metho accessor
functions, as classmethods.
(Wrapper.write_virtuals): Generate virtual method proxies using
the reverse wrapper generator. Also generates a class_init
function to register the virtual proxies with the object class,
but only for those virtuals that appear to be actually implemented
in python code to avoid calling into python code for nothing.
(Wrapper.write_functions): Update coverage statistics in
functions_coverage.
(write_registers): Generate code to call pyg_register_class_init
if the object has a class init function.
(main): Print all coverage statistics at the end of code generation.
* codegen/argtypes.py (ArgMatcher.register_reverse)
(ArgMatcher.register_reverse_ret, ArgMatcher.get_reverse)
(ArgMatcher.get_reverse_ret): New APIs to register and lookup
reverse wrappers type handlers.
* codegen/Makefile.am (codegen_PYTHON): Add reversewrapper.py.
* codegen/reversewrapper.py: New code to generate 'reverse
wrappers', i.e. wrappers that are called from C, call into Python,
and then return the python return value back to C.
Fixes #145314: Overriding GTK+ virtual methods.
2004-12-26 John Finlay <[email protected]>
* gtk/gdk.override (_wrap_gdk_event_tp_setattr): Fix garbled code
and allow message_type to be set. Fixes #162292.
(Raphael Kubo da Costa)
2004-12-23 John Finlay <[email protected]>
* gtk/gdk.defs (render_to_drawable, render_to_drawable_alpha): Add
drprecation warnings. Fixes #162097 (Steve Chaplin)
* gtk/gtk.override (_wrap_gtk_dialog_set_alternative_button_order):
Implement
2004-12-23 Johan Dahlin <[email protected]>
* gtk/__init__.py: Improve deprecation warnings, to display correct
lines (stacklevel should 2, not 1 which is default)
2004-12-23 Johan Dahlin <[email protected]>
* configure.in: Post release version bump
=== PyGtk 2.5.1 ===
2004-12-23 Johan Dahlin <[email protected]>
* NEWS:
* README: Updated
2004-12-02 Cedric Gustin <[email protected]>
Reviewed by: Johan Dahlin <[email protected]>
Fixes #150616
* dsextras.py: Added InstallData class. Changed template options
to ${prefix}/include|lib|bin|share. Added get_m4_define function
to parse pygtk version strings in configure.in.
* setup.py: Added pygtk_postinstall bdist_wininst
option. distutils now uses InstallData as install_data
class. pygtk-2.0.pc and pygtk-codegen-2.0 are installed as data
instead of lib/extensions. This fixes a bdist_wininst installer on
win32.
* pygtk_postinstall.py: Initial release.
2004-12-23 Johan Dahlin <[email protected]>
* docs/random/release-checklist: New document
* docs/random/missing-symbols: New document
* examples/atk/atk-demo.py:
* examples/ide/browse.py:
* examples/ide/gtkcons.py:
* examples/neil/notebook.py:
* examples/pango/utf8-demo.py:
* examples/pygtk-demo/demos/dnd.py:
* examples/pygtk-demo/demos/editable_cells.py:
* examples/pygtk-demo/demos/list_store.py:
* examples/simple/dnd.py:
* examples/simple/scribble.py:
Use stock items and other fixes for examples.
Fixes #156402 (Alan Horkan)
2004-12-23 Johan Dahlin <[email protected]>
* autogen.sh: set srcdir to dirname $0, fixes out of source tree
builds. Fixes #158360 (Marco Pesenti Gritti)
2004-12-22 Johan Dahlin <[email protected]>
* PKG-INFO.in: Update
* configure.in: Require glib/gtk+ 2.6, pango, atk 1.8, export
PYGTK_[MAJOR,MINOR_MICRO]_VERSION
* gtk/gtk.defs: Make it build again by removing removed functions
2004-12-12 Gustavo J. A. M. Carneiro <[email protected]>
* codegen/argtypes.py (arg): Add 'GTime' argtype matcher, which is
defined as gint32 by glib, thus handled as a normal python int.
2004-12-10 John Ehresman <[email protected]>
* gobject/pygobject.h: Change PY_HEXVERSION to PY_VERSION_HEX
2004-12-04 John Finlay <[email protected]>
* pango-types.defs (LayoutIter): Add.
* pango.defs (pango_layout_iter_get_type): Add.
* pango.override (_wrap_pango_layout_iter_get_line_yrange)
(_wrap_pango_layout_iter_get_layout_extents)
(_wrap_pango_layout_iter_get_run_extents)
(_wrap_pango_layout_iter_get_line_extents)
(_wrap_pango_layout_iter_get_cluster_extents)
(_wrap_pango_layout_iter_get_char_extents): Implement.
2004-12-04 Gustavo J. A. M. Carneiro <[email protected]>
* gtk/gtk.defs: Remove gtk_file_chooser_button_[gs]et_active wrappers.
(set_cell_data): Remove, also removed from gtk+.
2004-11-29 Johan Dahlin <[email protected]>
* configure.in: Post release version bump
=== PyGtk 2.5.0 ===
2004-11-29 Johan Dahlin <[email protected]>
* NEWS: Update
2004-11-23 Johan Dahlin <[email protected]>
* gobject/pygobject.c (pygobject_register_sinkfunc): Make sure
type is a type and sinkfunc isn't NULL.
2004-11-16 John Finlay <[email protected]>
* gtk/gtk.override (_wrap_gtk_about_dialog_set_url_hook)
(_wrap_gtk_about_dialog_set_email_hook)
(_wrap_gtk_target_list_add_uri_targets)
(_wrap_gtk_target_list_add_image_targets)
(_wrap_gtk_target_list_add_text_targets): Implement.
* gtk/gtk.defs (gtk_target_list_add_text_targets)
(gtk_target_list_add_image_targets)
(gtk_target_list_add_uri_targets): Define as functions.
2004-11-15 John Finlay <[email protected]>
* gtk/gdk.override (_wrap_gdk_display_store_clipboard): Implement.
* gtk/gdk.defs (drag_drop_succeeded): Define as method of
GdkDragContext.
* gobject/pygflags.c (pyg_flags_repr): Print long int value if enum
string not found. Fixes #158417. (modifed patch from Tim Evans)
* gtk/gtk.defs (set_icon_name): Allow name to be NULL
* gtk/gtktreeview.override
(_wrap_gtk_tree_view_set_row_separator_func): Implement.
(gtk_tree_view_get_row_separator_func): Ignore.
* gtk/gdk.override Complete changes to return strings instead of
atoms except for intern_atom.
2004-11-14 John Finlay <[email protected]>
* gtk/gtk.defs (gtk_selection_data_targets_include_image): Add def.
* configure.in Require GTK+ 2.5.5.
* gtk/gtk.override (_wrap_gtk_message_dialog_new): Fix bug.
(_wrap_gtk_message_dialog_format_secondary_text)
(_wrap_gtk_message_dialog_format_secondary_markup): Implement.
* gtk/gtk.defs (gtk_menu_tool_button_set_arrow_tooltip):
Allow tip args to be NULL.
* gtk/gtk.override (_wrap_gtk_menu_tool_button_new): Implement.
(gtk_menu_tool_button_new_from_stock): Ignore
* gtk/gtkwidget.override
(_wrap_gtk_menu_get_for_attach_widget): Implement as method of Widget
* gtk/gtk.defs (gtk_menu_get_for_attach_widget): Define as method
of Widget.
* pango-types.defs (EllipsizeMode): Add.
2004-11-14 Gustavo J. A. M. Carneiro <[email protected]>
* codegen/definitions.py (FunctionDef.write_defs): Write
caller-owns-return.
(MethodDef.write_defs): idem.
(MethodDef.merge): Merge flags 'caller_owns_return' and
'vargargs'; if parameter parmerge is false, return right after
copying old parameter list, to effectively avoid merging.
(FunctionDef.merge): idem.
* codegen/h2def.py (split_prefix_pat): Allow prefix to begin with
more than one capital letter. Fixes splitting of GConfXxx names.
2004-11-14 John Finlay <[email protected]>
* gtk/gtk.override (_wrap_gtk_image_get_icon_name): Implement.
* gtk/gtk.defs (gtk_image_new_from_icon_name): Change function
name to gtk.image_new_from_icon_name.
2004-11-13 John Finlay <[email protected]>
* gtk/gtk.override (_wrap_gtk_icon_view_selected_foreach)
(_wrap_gtk_icon_view_get_selected_items): Implement.
* gtk/gtk.defs (set_model): Set arg optional default NULL.
* gtk/gtk.override (_wrap_gtk_icon_theme_get_icon_sizes): Implement.
(_wrap_gtk_icon_view_new): Implement.
(gtk_file_chooser_button_new_with_dialog): Ignore.
(_wrap_gtk_file_chooser_button_new) Fix bug and add variant.
2004-11-12 John Finlay <[email protected]>
* gtk/gtk.override (_wrap_gtk_file_chooser_button_new): Implement
with optional backend arg.
(gtk_file_chooser_button_new_with_backend): Ignore.
* gobject/gobjectmodule.c (pyg_signal_list_ids)
(pyg_signal_lookup, pyg_signal_name, pyg_signal_query): Add signal
introspection functions
2004-11-10 John Finlay <[email protected]>
* gtk/gtk.override (_wrap_gtk_clipboard_set_can_store): Implement.
(_wrap_gtk_combo_box_set_row_separator_func): Implement
(gtk_combo_box_get_row_separator_func): Ignore.
2004-11-09 John Finlay <[email protected]>
* gtk/gtk.override (_wrap_gtk_cell_view_set_value)
(_wrap_gtk_cell_view_set_values): Implement.
(_wrap_gtk_cell_view_get_cell_renderers): Implement.
(_wrap_gtk_cell_view_get_size_of_row): Implement.
* gtk/gtk-types.defs (CellView): Implements GtkCellLayout
* gtk/gtk.defs Add functions for CellRendererCombo and
CellRendererProgress
* gtk/gtk-types.defs Add CellRendererCombo and CellRendererProgress
* gtk/gdk.defs (alternative_dialog_button_order): Add as method of
GdkScreen
* gtk/gtk.defs (alternative_dialog_button_order): Remove.
2004-11-08 John Finlay <[email protected]>
* configure.in Require less onerous GTK+ 2.5.4 build dependencies
* gtk/gtk.defs (set_logo_icon_name, set_logo)
(set_translator_credits, set_website_label, set_website)
(set_license, set_comments, set_copyright, set_version):
Allow arg to be None.
2004-11-07 John Finlay <[email protected]>
* gtk/gtk.defs (gtk_about_dialog_set_name) Allow name to be None
to use default app name.
* gobject/gobjectmodule.c (_pyg_strv_from_gvalue) Avoid segfault
when argv is NULL.
* gtk/gtk.override (_wrap__gtk_drag_source_set_target_list)
(_wrap_gtk_drag_source_get_target_list) Implement. Fixes #157554.
* gtk/gtk.defs (drag_source_set_target_list)
(drag_source_get_target_list) Add. Fixes #157554.
* gtk/gdk.override (_wrap_gdk_event_tp_setattr) Add missing return.
Fixes #157571 with slightly modified patch from rubensr.
2004-11-07 Johan Dahlin <[email protected]>
* gtk/gtk.defs (drag_source_add_text_targets)
(drag_dest_add_uri_targets, drag_dest_add_image_targets)
(drag_dest_add_text_targets): Make methods of them, fixes #157554
* gtk/gtk.override (_wrap_gtk_selection_data_get_uris)
(_wrap_gtk_selection_data_set_uris): Impl.
2004-11-07 Gustavo J. A. M. Carneiro <[email protected]>
* codegen/definitions.py (FunctionDef.write_defs): write (varargs
#t) when appropriate.
(MethodDef.write_defs): idem.
(FunctionDef.merge): Refactor/fix and add 'parmerge' argument.
* codegen/defsparser.py (DefsParser.merge): Add parameter
parmerge, to inidicate if we want parameter lists merging or not.
* codegen/mergedefs.py: Parse command line options with optparse;
accept option -p to indicate we want to update parameter lists of
existing methods/functions; by default parameter lists are not merged.
* codegen/h2def.py (proto_pat): Accept \s* between ( and start of
argument list. Fixes parsing of
libgnomeui-2.0/libgnomeui/gnome-scores.h, and others.
2004-11-06 Hans Breuer <[email protected]>
* config.h.win32 makefile.msc gobject/makefile.msc
gtk/makefile.msc : updated - pygtk is working fine
with msvc (but requires -DDISABLE_THREADING), Thanks!
2004-11-06 Johan Dahlin <[email protected]>
* gtk/gtk.override (_wrap_gtk_about_dialog_get_artists)
(_wrap_gtk_about_dialog_set_artists)
(_wrap_gtk_about_dialog_get_documenters)
(_wrap_gtk_about_dialog_set_documenters)
(_wrap_gtk_about_dialog_get_authors)
(_wrap_gtk_about_dialog_set_authors): Impl.
2004-11-06 Johan Dahlin <[email protected]>
* configure.in:
* gtk/gdk.defs:
* gtk/gtk-types.defs:
* gtk/gtk.defs:
Bump version to 2.5.0 and merge in gdk/gtk+ changes from cvs head.
New gtk objects:
GtkAboutDialog, GtkFileChooserButton, GtkIconView, GtkCellView,
GtkMenuToolButton
New gtk functions:
gtk_about_dialog_get_artists
gtk_about_dialog_get_authors
gtk_about_dialog_get_comments
gtk_about_dialog_get_copyright
gtk_about_dialog_get_documenters
gtk_about_dialog_get_license
gtk_about_dialog_get_logo
gtk_about_dialog_get_name
gtk_about_dialog_get_translator_credits
gtk_about_dialog_get_version
gtk_about_dialog_get_website
gtk_about_dialog_get_website_label
gtk_about_dialog_new
gtk_about_dialog_set_artists
gtk_about_dialog_set_authors
gtk_about_dialog_set_comments
gtk_about_dialog_set_copyright
gtk_about_dialog_set_documenters
gtk_about_dialog_set_email_hook
gtk_about_dialog_set_license
gtk_about_dialog_set_logo
gtk_about_dialog_set_name
gtk_about_dialog_set_translator_credits
gtk_about_dialog_set_url_hook
gtk_about_dialog_set_version
gtk_about_dialog_set_website
gtk_about_dialog_set_website_label
gtk_accelerator_get_label
gtk_action_group_translate_string
gtk_action_set_sensitive
gtk_action_set_visible
gtk_alternative_dialog_button_order
gtk_cell_renderer_combo_new
gtk_cell_renderer_progress_new
gtk_cell_view_get_cell_renderers
gtk_cell_view_get_size_of_row
gtk_cell_view_new
gtk_cell_view_new_with_markup
gtk_cell_view_new_with_pixbuf
gtk_cell_view_new_with_text
gtk_cell_view_set_background_color
gtk_cell_view_set_displayed_row
gtk_cell_view_set_model
gtk_cell_view_set_value
gtk_cell_view_set_values
gtk_clipboard_set_can_store
gtk_clipboard_store
gtk_clipboard_wait_is_target_available
gtk_combo_box_get_active_text
gtk_combo_box_get_column_span_column
gtk_combo_box_get_focus_on_click
gtk_combo_box_get_popup_accessible
gtk_combo_box_get_row_separator_func
gtk_combo_box_get_row_span_column
gtk_combo_box_get_wrap_width
gtk_combo_box_set_add_tearoffs
gtk_combo_box_set_focus_on_click
gtk_combo_box_set_row_separator_func
gtk_dialog_set_alternative_button_order
gtk_drag_dest_add_image_targets
gtk_drag_dest_add_text_targets
gtk_drag_dest_add_uri_targets
gtk_drag_source_add_text_targets