zero user pointers are not written so there are no dangling pointer
problems on load :)

On Tue, Feb 23, 2010 at 5:35 PM, Martin Poirier <[email protected]> wrote:
> My point was that it might lead to unexpected behavior.
>
> If I understood correctly, it forces the user count to 0, which means that 
> there will be dangling pointers on load (I think they might be nulled then, 
> but that's using an error recovery side effect to achieve something on the 
> "normal" path and that's nasty).
>
> Martin
>
> --- On Tue, 2/23/10, Dalai Felinto <[email protected]> wrote:
>
>> From: Dalai Felinto <[email protected]>
>> Subject: Re: [Bf-committers] [Bf-blender-cvs] SVN commit: 
>> /data/svn/bf-blender [27105] trunk/blender: - finally a way to force removal 
>> of images (Shift+Click on the X)
>> To: "bf-blender developers" <[email protected]>
>> Received: Tuesday, February 23, 2010, 11:05 AM
>> >Isn't that nasty if the image is
>> assigned to a face as UV or a texture or
>> as background image or whatever?
>> That's the whole point of forcing the removal. Blender
>> keeps weird datablock
>> pointers impossible to remove (user point of view here).
>>
>> A popup telling which datablocks are linked to this image
>> wouldnt hurt. But
>> still a must feature !
>>
>> Thanks a lot Campbell,
>>
>> Dalai
>> http://blenderecia.orgfree.com
>>
>>
>> 2010/2/23 Martin Poirier <[email protected]>
>>
>> > Isn't that nasty if the image is assigned to a face as
>> UV or a texture or
>> > as background image or whatever?
>> >
>> > Martin
>> >
>> > --- On Tue, 2/23/10, Campbell Barton <[email protected]>
>> wrote:
>> >
>> > > From: Campbell Barton <[email protected]>
>> > > Subject: [Bf-blender-cvs] SVN commit:
>> /data/svn/bf-blender [27105]
>> > trunk/blender: - finally a way to force removal of
>> images (Shift+Click on
>> > the X)
>> > > To: [email protected]
>> > > Received: Tuesday, February 23, 2010, 10:34 AM
>> > > Revision: 27105
>> > >
>> > http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=27105
>> > > Author:   campbellbarton
>> > > Date:     2010-02-23 16:34:02
>> +0100
>> > > (Tue, 23 Feb 2010)
>> > >
>> > > Log Message:
>> > > -----------
>> > > - finally a way to force removal of images
>> (Shift+Click on
>> > > the X)
>> > > - generic modal operator now works with int's
>> > >
>> > > Modified Paths:
>> > > --------------
>> > >
>>    trunk/blender/release/scripts/op/wm.py
>> > >
>> > >
>> trunk/blender/source/blender/editors/interface/interface_templates.c
>> > >
>> > >
>> trunk/blender/source/blender/makesrna/intern/rna_access.c
>> > >
>> > > Modified: trunk/blender/release/scripts/op/wm.py
>> > >
>> ===================================================================
>> > > ---
>> > > trunk/blender/release/scripts/op/wm.py
>> > > 2010-02-23 12:48:35 UTC (rev 27104)
>> > > +++
>> > > trunk/blender/release/scripts/op/wm.py
>> > > 2010-02-23 15:34:02 UTC (rev 27105)
>> > > @@ -338,7 +338,10 @@
>> > >
>> > >          path_item =
>> > > self.properties.path_item
>> > >          for item,
>> value_orig
>> > > in self._values.items():
>> > > -
>> exec("item.%s =
>> > > %s" % (path_item, value_orig + delta))
>> > > +            if
>> > > type(value_orig) == int:
>> > > +
>> > > exec("item.%s = int(%d)" % (path_item,
>> round(value_orig +
>> > > delta)))
>> > > +            else:
>> > > +
>> > > exec("item.%s = %f" % (path_item, value_orig +
>> delta))
>> > >
>> > >      def _values_restore(self):
>> > >          path_item =
>> > > self.properties.path_item
>> > >
>> > > Modified:
>> > >
>> trunk/blender/source/blender/editors/interface/interface_templates.c
>> > >
>> ===================================================================
>> > > ---
>> > >
>> trunk/blender/source/blender/editors/interface/interface_templates.c
>> > > 2010-02-23 12:48:35 UTC (rev 27104)
>> > > +++
>> > >
>> trunk/blender/source/blender/editors/interface/interface_templates.c
>> > > 2010-02-23 15:34:02 UTC (rev 27105)
>> > > @@ -284,6 +284,10 @@
>> > >
>> > > memset(&idptr, 0, sizeof(idptr));
>> > >
>> > > RNA_property_pointer_set(&template->ptr,
>> > > template->prop, idptr);
>> > >
>> > > RNA_property_update(C, &template->ptr,
>> > > template->prop);
>> > > +
>> > > +
>> > > if(id &&
>> CTX_wm_window(C)->eventstate->shift)
>> > > /* useful hidden functionality, */
>> > > +
>> > >     id->us= 0;
>> > > +
>> > >
>> > > break;
>> > >          case
>> > > UI_ID_FAKE_USER:
>> > >
>> > > if(id) {
>> > > @@ -450,7 +454,7 @@
>> > >
>> > > but= uiDefIconButO(block, BUT, unlinkop,
>> > > WM_OP_INVOKE_REGION_WIN, ICON_X, 0, 0, UI_UNIT_X,
>> UI_UNIT_Y,
>> > > NULL);
>> > >          }
>> > >          else {
>> > > -
>> > > but= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0,
>> UI_UNIT_X,
>> > > UI_UNIT_Y, NULL, 0, 0, 0, 0, NULL);
>> > > +
>> > > but= uiDefIconBut(block, BUT, 0, ICON_X, 0, 0,
>> UI_UNIT_X,
>> > > UI_UNIT_Y, NULL, 0, 0, 0, 0, "Unlink datablock,
>> Shift +
>> > > Click to force removal on save");
>> > >
>> > > uiButSetNFunc(but, template_id_cb,
>> MEM_dupallocN(template),
>> > > SET_INT_IN_POINTER(UI_ID_DELETE));
>> > >
>> > >
>> > > if(RNA_property_flag(template->prop) &
>> > > PROP_NEVER_NULL)
>> > >
>> > > Modified:
>> > >
>> trunk/blender/source/blender/makesrna/intern/rna_access.c
>> > >
>> ===================================================================
>> > > ---
>> > >
>> trunk/blender/source/blender/makesrna/intern/rna_access.c
>> > > 2010-02-23 12:48:35 UTC (rev 27104)
>> > > +++
>> > >
>> trunk/blender/source/blender/makesrna/intern/rna_access.c
>> > > 2010-02-23 15:34:02 UTC (rev 27105)
>> > > @@ -1145,7 +1145,6 @@
>> > >
>> > >  int RNA_property_editable_flag(PointerRNA
>> *ptr,
>> > > PropertyRNA *prop)
>> > >  {
>> > > -    ID *id= ptr->id.data;
>> > >      int flag;
>> > >
>> > >      prop=
>> rna_ensure_property(prop);
>> > >
>> > >
>> > > _______________________________________________
>> > > Bf-blender-cvs mailing list
>> > > [email protected]
>> > > http://lists.blender.org/mailman/listinfo/bf-blender-cvs
>> > >
>> >
>> >
>> >
>>    __________________________________________________________________
>> > Make your browsing faster, safer, and easier with the
>> new Internet
>> > Explorer® 8. Optimized for Yahoo! Get it Now for
>> Free! at
>> > http://downloads.yahoo.com/ca/internetexplorer/
>> > _______________________________________________
>> > Bf-committers mailing list
>> > [email protected]
>> > http://lists.blender.org/mailman/listinfo/bf-committers
>> >
>> _______________________________________________
>> Bf-committers mailing list
>> [email protected]
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
>
>
>      __________________________________________________________________
> Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your 
> favourite sites. Download it now
> http://ca.toolbar.yahoo.com.
> _______________________________________________
> Bf-committers mailing list
> [email protected]
> http://lists.blender.org/mailman/listinfo/bf-committers
>



-- 
- Campbell
_______________________________________________
Bf-committers mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-committers

Reply via email to