Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorTon Roosendaal <ton@blender.org>2004-05-11 00:14:21 +0400
committerTon Roosendaal <ton@blender.org>2004-05-11 00:14:21 +0400
commit208a2937f70244d7ac0b32935c7f9aeb7b66ddb2 (patch)
tree254c6572e7fffe88582f810e23c110190d6dbe83 /source
parentc4dc33f18e501fa8595be8800dd1f1f0351e8a9e (diff)
PATCH!
Bug 1258: selecting objects with text drawing (axis, or as draw extra) causes crashes in IBM cards. Has been tested & verified. A crash on selecting Empty is often reported... so I just disabled drawing of text when in selecting-draw mode. Added comments in code to note it clearly.
Diffstat (limited to 'source')
-rw-r--r--source/blender/src/drawobject.c28
1 files changed, 17 insertions, 11 deletions
diff --git a/source/blender/src/drawobject.c b/source/blender/src/drawobject.c
index 9c4f2c79474..ac941827f87 100644
--- a/source/blender/src/drawobject.c
+++ b/source/blender/src/drawobject.c
@@ -302,13 +302,16 @@ void drawaxes(float size)
v2[axis]+= size*0.125;
glRasterPos3fv(v2);
-
- if (axis==0)
- BMF_DrawString(G.font, "x");
- else if (axis==1)
- BMF_DrawString(G.font, "y");
- else
- BMF_DrawString(G.font, "z");
+
+ // patch for 3d cards crashing on glSelect for text drawing (IBM)
+ if((G.f & G_PICKSEL) == 0) {
+ if (axis==0)
+ BMF_DrawString(G.font, "x");
+ else if (axis==1)
+ BMF_DrawString(G.font, "y");
+ else
+ BMF_DrawString(G.font, "z");
+ }
}
}
@@ -3681,10 +3684,13 @@ void draw_object(Base *base)
if(dtx & OB_BOUNDBOX) draw_bounding_volume(ob);
if(dtx & OB_TEXSPACE) drawtexspace(ob);
if(dtx & OB_DRAWNAME) {
- glRasterPos3f(0.0, 0.0, 0.0);
-
- BMF_DrawString(G.font, " ");
- BMF_DrawString(G.font, ob->id.name+2);
+ // patch for several 3d cards (IBM mostly) that crash on glSelect with text drawing
+ if((G.f & G_PICKSEL) == 0) {
+ glRasterPos3f(0.0, 0.0, 0.0);
+
+ BMF_DrawString(G.font, " ");
+ BMF_DrawString(G.font, ob->id.name+2);
+ }
}
if(dtx & OB_DRAWIMAGE) drawDispListwire(&ob->disp);
if((dtx & OB_DRAWWIRE) && dt>=OB_SOLID) draw_extra_wire(ob);